-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Nghia Nguyen edited this page Oct 17, 2022
·
49 revisions
- We are creating an Android app written in Dart using flutter for UI development and cross-platform support. The project will be written and compiled/debugged in Android Studio.
- In conjunction we will use Firebase for user data and user account authentication via the firebase authentication
- Flutter will be used as our build manager as well.
- https://pub.dev/packages/speech_to_text Will be used to read in user voice data for an aspirational vocal quiz.
- https://pub.dev/packages/flutter_tts Will be used to speak text to the user.
- User Data Saved upon User Log Out https://github.com/SCCapstone/Downpour/issues/29
- Delete their account https://github.com/SCCapstone/Downpour/issues/28
- Input Password https://github.com/SCCapstone/Downpour/issues/20
- Input Username https://github.com/SCCapstone/Downpour/issues/19
- receive quiz score https://github.com/SCCapstone/Downpour/issues/27
- select quiz https://github.com/SCCapstone/Downpour/issues/25
- receive feedback, https://github.com/SCCapstone/Downpour/issues/23
- user is prompted w/ answer choices and questions https://github.com/SCCapstone/Downpour/issues/26
- multiple quiz types https://github.com/SCCapstone/Downpour/issues/31
- Direct Messaging Capability https://github.com/SCCapstone/Downpour/issues/37
- Users can search for information about the language https://github.com/SCCapstone/Downpour/issues/34
- Users can search for information about the Island https://github.com/SCCapstone/Downpour/issues/33
- Button Navigation System https://github.com/SCCapstone/Downpour/issues/30
- Input Username/Password https://github.com/SCCapstone/Downpour/issues/15
- Confirm Password https://github.com/SCCapstone/Downpour/issues/16
- Input User Email https://github.com/SCCapstone/Downpour/issues/17
- Sign Up Button https://github.com/SCCapstone/Downpour/issues/18
- Receive Lesson https://github.com/SCCapstone/Downpour/issues/22
- Recharge Lesson suggestions https://github.com/SCCapstone/Downpour/issues/32
- Search for other Users https://github.com/SCCapstone/Downpour/issues/35
- Animations https://github.com/SCCapstone/Downpour/issues/36
- Build .apk for release https://github.com/SCCapstone/Downpour/issues/39
We will build an .Apk file through android studio / Gradle that testers can then install onto an android device or emulator (Possible release on Android Store for ease of access)
- username:String Username represents the user-chosen username for each user. Each username has to be unique, less than 30 characters, with accepted characters being alphanumeric and periods.
- email:String The email of the user.
- password:String The password of the user. When creating the password, the password requirements include having at least 8 characters, with accepted characters being alphanumeric and punctuation marks.
- description:String A user defined description for their profile. This could be thought of as a "bio" or "about me" section for their profile.
- progress:
- App States: stored in memory
- User data: stored in a database using Firebase.
If you are using a db-backend (say firebase) then include the Database schema: set of tables/documents with list of attributes and their types.
The Views of your app: name, describe. Embed the images from your Design Milestone. Typically, one page in the app is composed of multiple View elements.
- Should allow the user to sign into their account if they have one or prompt the user to create an account
- Two fill bars one for username and one for password
- a button for password recovery
- a button to create an account
- The sign up page should have 4 fillable text boxes for username ,password ,confirm password, and email.
- A button for completing the sign up form
- A button for returning the user to the login screen if they already have an account
- The welcome screen should greet the user with lessons/quizzes and their current login streak
- Shows buttons and view links for going to lessons and quizzes
- should have navigational links at the bottom of the screen for moving to the different views
- has a Fileable text box for user input
- A search button that confirms the users query and searches for matches in the wiki
- Multiple choice lessons have a questions and 2-4 answer choices for the user to select
- they display the question number and the questions remaining
- the profile page displays a profile picture that the user can change
- User statics in text boxes for their app engagement streaks and current lesson module
- A button to log the user out
- A button to edit their settings
- A text field indicating when the user signed up for the app
- Displays images in a layout that take the user to the corresponding wiki article about said topic
- Allows peer to peer communication between users for increased interaction for sharing language and culture.
- Allows for the user to enter text and then send
- The user can see what level they have reached
- The user can Start with the first lesson
- The user cannot skip lessons
- Clicking on a path i.e. "Greetings" directs user to the Greetings lesson
- The user can access the navigation bar to swap screens