Term Project - Description
- Overview
- Collaboration
- Option 1: Your own project idea
- Option 2: Customer project - Breathe In, Stand Down
- General requirements
Overview
The bulk of your course grade is determined by this term project. You will implement a Flutter application from scratch that will be integrated with cloud-based authentication and database services. You will deliver incremental functionality across multiple graded milestones, followed by a final deliverable. The milestone assignments and due dates are collected in the “Term Project” module on Canvas.
Collaboration
I strongly encourage you to work with a partner. This is optional. Partners will earn the same grade on each milestone. Teams will not be expected to complete “larger” assignments than those working alone.
For each milestone, the GitHub commit contribution must indicate approximately 50/50 effort distribution. If a partner contributed nothing tangible, that partner will receive a score of 0. If a partner contributed substantially less, that partner will have the grade reduced by 50%.
Option 1: Your own project idea
Do you have an idea for a project? Something you’ve been dying to implement? We will discuss the scope of work.
- User login, logout, and signup
- Integration of a cloud database (we will cover one option for implementing a cloud database in class)
Option 2: Customer project - Breathe In, Stand Down
You will implement an application for Dr. Shaila Strayhorn-Carter of CHHS. She has designed an intervention for active-duty service members with alcoholism that will be delivered through a mobile application. Please watch the video below on Canvas for an overview of the project:
https://uncw.instructure.com/courses/90553/files/12754600?module_item_id=4022226
You are capable of completing the app in its entirety. I will provide many more details on the requirements for the app. This is an excellent opportunity to build an app for someone for a good cause, which will look great on your resume.
The application represents Dr. Strayhorn-Carter’s intellectual property, and thus you cannot profit from the idea, but the app will be a showcase of your skills to potential employers.
General requirements
- The app’s source code must adhere to the Dart style guide.
- The app’s source code must be free of dead code and commented out code.
- The app’s source code must be free of all Lint warnings and errors. Suppressing these warnings through Lint configuration must be approved on a case-by-case basis by the instructor.
- Your app must be robust/error-free. Quality is valued over style.
- You must work “vertically”. That is, focus on a feature and make it work well. The UI for that feature is finished, the data model is set, error conditions are handled gracefully, you give the user good feedback, etc. Correctly implementing 3 features will earn you more credit than implementing 7 features that are half-broken.