--Readme document for author(s), email(s), UCI id(s)-- Joseph Kim, [email protected], 19929390 Kade Na, [email protected], 20392061
- How many assignment points do you believe you completed (replace the *'s with your numbers)?
20/20
- 2/2 The ability to log overnight sleep
- 2/2 The ability to log sleepiness during the day
- 2/2 The ability to view these two categories of logged data
- 4/4 Either using a native device resource or backing up logged data
- 4/4 Following good principles of mobile design
- 4/4 Creating a compelling app
- 2/2 A readme and demo video which explains how these features were implemented and their design rationale
-
How long, in hours, did it take you to complete this assignment? Approximately 35 hours
-
What online resources did you consult when completing this assignment? (list specific URLs) https://inf133.markbaldw.in/resources/11_15_22-ionic_components.pdf https://ionicframework.com/docs/api/datetime https://ionicframework.com/docs/api/button https://ionicframework.com/docs/api/range https://stackoverflow.com/questions/14667713/how-to-convert-a-string-to-number-in-typescript https://medium.com/ramsatt/map-set-in-typescript-angular-643e506e6c3c https://stackoverflow.com/questions/40976536/how-to-define-typescript-map-of-key-value-pair-where-key-is-a-number-and-value https://stackoverflow.com/questions/12897742/how-do-you-specify-that-a-class-property-is-an-integer https://forum.ionicframework.com/t/ion-datetime-binding-through-ngmodel-ionic-v4/137187 https://www.geeksforgeeks.org/typescript-number-valueof-method/#:~:text=The%20valueOf()%20method%20in,of%20the%20specified%20number%20object.&text=Parameter%20values%3A%20This%20method%20does,of%20the%20specified%20number%20object. https://stackoverflow.com/questions/34738799/argument-of-type-x-is-not-assignable-to-parameter-of-type-x https://stackoverflow.com/questions/65683502/cant-bind-ion-range-value-with-ngmodel https://stackoverflow.com/questions/41355768/argument-of-type-date-is-not-assignable-to-parameter-of-type-string https://bobbyhadz.com/blog/javascript-convert-iso-string-to-date-object#:~:text=Use%20the%20Date()%20constructor,will%20return%20a%20Date%20object.&text=Copied! https://ionicframework.com/docs/api/range#rangevalue https://ionicframework.com/docs/api/toast https://ionicframework.com/docs/api/card https://capacitorjs.com/docs/apis/preferences https://stackoverflow.com/questions/69332412/module-angular-fire-firestore-has-no-exported-member-angularfirestoremodul https://forum.ionicframework.com/t/refusing-to-run-ionic-cordova-plugin-inside-a-capacitor-project/198408 https://forum.ionicframework.com/t/get-all-values-from-ionic-storage/101842/6 https://capacitorjs.com/docs/guides/storage https://ionicframework.com/docs/api/text https://capacitorjs.com/docs/apis/preferences#clear https://medium.com/coder-life/ionic-capacitor-storage-api-e4e7af5e0f0 https://www.freakyjolly.com/ionic-add-tabs-navigation-routing-in-ionic-angular-application/ https://ionicframework.com/docs/api/refresher
-
What classmates or other individuals did you consult as part of this assignment? What did you discuss? Tim Chen: Answered basic questions about the storage, and debugging tips
-
Is there anything special we need to know in order to run your code? Dependencies must be installed. There are a couple unused dependencies that were not uninstalled, but will still be in the package.json.
--Aim for no more than two sentences for each of the following questions.--
-
Did you design your app with a particular type of user in mind? If so, whom? This app was designed without a particular type of user in mind. The app should be relatively accessible for all age groups.
-
Did you design your app specifically for iOS or Android, or both? We designed our app specifically for both mobile platforms.
-
How can a person log overnight sleep in your app? Why did you choose to support logging overnight sleep in this way? From the home page, they can select the overnight sleep tab. Then, they can select the start and end date/time before using the submit button.
-
How can a person log sleepiness during the day in your app? Why did you choose to support logging sleepiness in this way? From the home page, they can select the sleepiness tab. Then they can select the date/time and scroll through the slider before using the submit button.
-
How can a person view the data they logged in your app? Why did you choose to support viewing logged data in this way? The user can view the logged data by navigating to the view log tab and refreshing the page by pulling down for any recent data (refresher was added due to data not being updated on the spot). We believed that it would be more organized having the data on a separate page.
-
Which feature choose--using a native device resource, backing up logged data, or both? We backed up the logged data.
-
If you used a native device resource, what feature did you add? How does this feature change the app's experience for a user? Not applicable.
-
If you backed up logged data, where does it back up to? We used capacitator storage in order to store the logged data. This means it will use UserDefaults on iOS and SharedPreferences on Android.
-
How does your app implement or follow principles of good mobile design? Our app implements good mobile design by increasing the visibility of button and text elements on the screen while also using a slider to make it easy for people to log sleepiness data. Also, we made it convenient for the user to navigate between pages by having tabs on the bottom of the screen.