1 / 19

Yesdatabas

Yesdatabas. Team Void Main. Team Members. Daniel Meteyer. Michael Martin. Corey McClymonds. Patrick Stetter. Summary. Yesdatabas is a fully customizable Content Management System Written in Ruby on Rails

mikko
Download Presentation

Yesdatabas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Yesdatabas Team Void Main

  2. Team Members Daniel Meteyer Michael Martin Corey McClymonds Patrick Stetter

  3. Summary • Yesdatabas is a fully customizable Content Management System • Written in Ruby on Rails • Intended to be used for clubs and other small organizations to maintain and update member data • First implementation will be with RPI’s Red and White club • Project took around 13 weeks • Used the Unified Process for software development

  4. MVC Architecture Model/View/Controller

  5. Design Pattern Selection • Yesdatabas uses Ruby on Rails • Ruby on Rails uses the MVC design pattern • Model • Describes data storage and relations • View • Presents data found in the model in a view for users • Controller • Manipulates data found in the model according to instructions from the software and user • Selected before we even knew what design patterns were • By choosing Ruby on Rails as our language/environment! • Made development easier • Ruby generates views and controllers based on the model creation • Concept called scaffolding

  6. Unified Process 4 Stages of Development

  7. Inception – Getting the Ball Rolling • Our Vision • Easily navigable and secure website • Functionality for exportation (to a format readable by Excel) • Two actors • Users who only view and control their own data • Administrators who create users, manage data fields and edit user data when necessary • A database to store all of user data • Customizable design i.e., fonts, colors, formatting, etc. • Compatible with RPI’s web servers • A big risk for our project • Accomplishments • Set up Ruby environment and created a new project • Obstacles • Finding time to meet around busy schedules

  8. Elaboration – Building a Foundation • Vision • A somewhat functional website • Accomplishments • Finalized Use Cases • Began diagramming our system • Experimented with Ruby • Very straight forward • Improved level of communication • Bi-weekly meetings • Formerly just weekly • Obstacles • Overcoming Spring Break slump • Getting our hands dirty with code

  9. Construction – Cranking it Out • Vision • Functional beta release deliverable by the deadline • Accomplishments • Implemented most required features • Completed class and sequence diagrams • Coded on our own time • Not at meetings • Designed a relevant test plan • Manual step-by-step testing of the CMS • Obstacles • Integrating all the controllers • Adding features in a manner consistent with our Use Cases • Code reviewed by team Thoughtbean • Provided honest and helpful criticism • Helped us realize that our code needed commenting and tidying up

  10. Transition – Wrapping Things Up • Vision • Fully functioning content management system • Accomplishments • Worked out all the bugs • Created user documentation • Ruby on Rails installation • Yesdatabas installation • Using our software • Reviewed final test results • Secure and functional! • Presentable • Obstacles • Completing deliverables while working on the presentation

  11. Yesdatabasin Depth Further Explanation with Live Demo

  12. SVN History • Insert Video of SVN History

  13. Benefits Of Our Software • Installable • Instructions found in documentation • Minimal command line statements to get running • Customizable • Uploading a CSS to match your organization’s colors • Flexible • Custom data fields • Compatible • With RPI’s web server • Lightweight • Software takes roughly 2MB of disk space • Modifiable • Future updates likely

  14. Best Practices – How They Helped • Google Code • Wiki • Posting project notes • Rough draft of deliverables • Links to resources • Repository • Pulling latest version of software • Committing work • Bug tracking • Posted bugs we identified • More convenient than using email discussions • Coding Standards • Made code easy to read for our team and others who reviewed it • Third Party Tool • B-crypt allowed use to make our password storage secure • Design Pattern • Better than developing entirely from scratch • Kept us focused • What the user model was and was not • How we ought to view user data • How the data ought to be controlled through the view

  15. Live Demonstration

  16. Conclusion Final Thoughts

  17. What We Learned • Mistakes Made • Tried to use our own phases/iteration schedule • Did not work • Switched to the suggested class schedule in April • Jumped the gun on some Ruby coding • Could have taken more time familiarize with naming conventions • All naming problems eventually fixed • Lessons Learned • Software development encompasses much more than programming • Without direction, a project is doomed to fail • Organization and deadlines are crucial to success • Communication is essential for teamwork • Honesty with teammates and managers is important • In this case, replace managers with instructors/TA’s • Diagramming with UML can be fun!

  18. Future of Yesdatabas • Add an alumnus account • Can view all user data but may not modify it • Embed a Google Calendar • Put on homepage • Use for your organization’s events • Implement Attendance functionality • Record meeting attendance for members/users • Generate attendance reports

  19. Thanks for Listening! Team Void Main

More Related