0% found this document useful (0 votes)
2 views

FinalProject Updated

The SEP 758 Final Project requires students to create a mobile app using Flutter, incorporating various technical and functional elements such as multiple screens, navigation structures, and data persistence. The project is due by December 15th and includes specific deliverables like app design images, a concept document, source code, and a demo video. Bonus features such as Firebase Authentication and Cloud Firestore integration can enhance the project and improve grading outcomes.

Uploaded by

kalppandya0212
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

FinalProject Updated

The SEP 758 Final Project requires students to create a mobile app using Flutter, incorporating various technical and functional elements such as multiple screens, navigation structures, and data persistence. The project is due by December 15th and includes specific deliverables like app design images, a concept document, source code, and a demo video. Bonus features such as Firebase Authentication and Cloud Firestore integration can enhance the project and improve grading outcomes.

Uploaded by

kalppandya0212
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

SEP 758 Final Project – Flutter

The final project is a chance for you to combine and practice everything you learned from this course. You will be
making your own Android/iOS app using Flutter - taking it from the idea stage to building out the full app. The
goal is to prototype an app related to your MEng project or another original idea as agreed by your instructor
through your preliminary proposal. You are expected to be creative about how you accomplish this. Refer to the
deliverables and rubric sections to have full understanding of what is required.

The deadline for completing & submitting your project is Friday Dec 15th at midnight EST.

Requirements

These are the technical and functional requirements for the app:

a) At least 3 different screens (not including user sign-up/login/profile screens)


b) A navigation structure using one of: BottomNavigationBar, TabBar or Drawer
c) Uses Text, Image & Icon widgets
d) Uses (from the Material design widgets) at least 1 widget for each of: Button, Input/Selection &
Dialogs/Alert/Panel
e) Uses at least 4 different layout widgets; including a ListView with a builder other examples are Column,
Row, Container, Center … etc
f) Uses at least 2 stateful widgets
g) App is web-enabled (either retrieving data from an actual API or a custom mock API)
h) Uses data persistence & has a non-default theme

Bonuses

Bonus features can provide bonus marks or compensate for lost marks in other areas of the project.

a) App uses Firebase Authentication for user authentication + user profile/settings screen (in addition to
the 3 main screens)
b) App uses Cloud Firestore as its backend to read/write data (replaces API requirement)
c) App uses location services or other sensors
d) App integrates Google maps (replaces location services)

Deliverables

There will be a project folder on Avenue, submit the following individual files by the deadline:

a) App design images: A zip archive including images of the initial app design (sketches on paper are fine)
b) App concept: A short (approx. 300 word) document defining the app idea. It should also include any
special instructions needed to run the app in addition to highlighting features implementing the concept
c) A completed self-assessment rubric
d) Source code: A zip archive for the full Flutter project (not including the build folder)
e) App’s APK: A compiled APK for your app
f) A demo video recording for the working application; preferably with explanation
Rubric

Criteria Notes Weight


Design 5%
App design images Submission includes images of the app design (sketches in paper 5%
are fine)
Idea Definition 5%
App concept The app idea is clearly defined in a short (approx. 300 word) 5%
document included with the submission.
Code Functionality 20%
Use of control flow statements At least one conditional or loop structure 5%
Use of functions At least 3 custom functions/methods. The functions: 5%
• Are defined and called
• Do what their names suggest
• Have appropriate input parameters and return data types
Use of variables Variables are declared and scoped appropriately 5%
Interactivity All Button(s) have onPressed events defined and function 5%
appropriately
Functional Requirements 60%
Screens & Navigation • App has at least 3 unique screens 10%
• Properly uses one of BottomNavigationBar, TabBar, Drawer
for app level navigation
Basic Widgets The app uses these 3 types of basic widgets: 5%
Text, Image, Icon
Layout Widgets The app has at least one ListView with a builder in addition to 3 5%
other different layout widgets
Material Design Widgets The app uses 1 of each of the following material design widgets 5%
groups: Button, Input/Selection, Dialog/Alert/Panel
Data Persistence App persists data using shared preferences & is part of 5%
functionality
Stateful Widgets App has at least two stateful widgets with correct state 10%
management
Web-enabled App retrieves data from the internet; either using an existing API 15%
or a mock API (mockaroo)
Theme App has a non-default theme (default colors, fonts, button 5%
styles, … etc)
Advanced Features
Firebase Authentication App uses firebase for user authentication & has an extra screen 10%
for user profile/settings
Cloud Firestore App uses firebase as its backend to read data. Writing data into 15%-
firebase is extra bonus (5%) (replaces web-enabled) 20%
Location Services App uses location services in its core functionality 5%
Maps App integrates a Google map in a core functionality (replaces 7%
location services)
Sensors App uses sensor data in a core functionality 5%
Incomplete Self-assessment -5%
Rubric
No demo video -10%
Code has errors -20%
Redundant Screens Screens with identical layout should be filled dynamically with -10%
content not implemented multiple times statically
Notes:

• If using firebase as backend; show the database structure and how data is stored in your demo video as
well as in screenshots
• If using Mockaroo, provide screenshot of database structure & sample data stored in it
• For other APIs provide the API endpoints used & an example of the response
• Make sure you are using the latest version of Flutter to create your app as well as the latest versions of
any packages used

You might also like