This assignment description lists the intermediate and final deliverables for your team project.
Each team should consist of 2-3 members unless permission is given by the instructors for larger/smaller group sizes.
All team members must make substantial technical contributions to the project.
Demos
In-class demos will take place during the following class periods:
- March 17th - Project Proposal - shared Google Doc
- April 3rd - Minimal Working System Demo
- April 22nd - 50% Working System Demo
- May 13th - Final Working System Demo and Report
In each demo your group will briefly demonstrate the functionality you have implemented. Expect to spend no more than 5 minutes demonstrating your system functionality.
Each demo will be evaluated as exceeds expectations, meets expectations, or below expectations:
- exceeds expectations means that we think you are on-track to have an outstanding project completed by the end of the semester.
- meets expectations means that we think your are making progress towards a reasonable project completed by the end of the semester.
- below expectations means that we are concerned that your project will not meet the minimum expectations by the end of the semester.
Final System
The final system is due by Tuesday, May 13th during the final exam period.
The final system must implement a web service using a database for persistence and at least one of the following clients:
- a mobile application
- a web application
You may choose to have a more significant client application, e.g. mobile app, with a fairly minimal backend web service, but some portion of the project must demonstrate significant application of the topics presented in class.
Your codebase should be located in a public github repository. Be sure to provide us with a link to the repository as well as add us a collaborators. We will check out your code at the end of the semester.
Report
Write a 5-6 page report describing your system. A suggested outline:
- Problem description (1/2 page)
- Requirements (1/2 page)
- Design (2 pages)
- Web service: Describe the functions/API it provides. Include an edited UML diagram with your most important model classes.
- Database: Describe how your design supports persistence of data? Discuss your ORM strategy with relevant schema tables.
- Web application: Describe the framework, traditional or AJAX, used to implement the application. Explain which implementations (e.g. model objects, controllers) it shares with the web service.
- Mobile application: Provide a UI hierarchy showing the various UI screens and navigation between them. Describe the mobile application's functionality, specifically how it interacts with the web service and how it manages data (e.g. local caching).
- Implementation (2 pages): discuss any interesting implementation issues
- Conclusions (1 page): Discuss what you learned throughout this project.
Presentation
Group presentations will take place during the scheduled final exam time on May 13.
Please follow the Presentation Guidelines.