glucosio / glucosio-android Goto Github PK
View Code? Open in Web Editor NEWGlucosio Android App
License: GNU General Public License v3.0
Glucosio Android App
License: GNU General Public License v3.0
We should have a way in Overview to display a daily/weekly/monthly graph and easily switch between them.
Jacob Park Remark:
I find the object oriented design of the project a bit weird. For example, in https://github.com/Glucosio/android/blob/master/app/src/main/java/org/glucosio/android/fragment/OverviewFragment.java why interact with the business domain object through parallel lists? Why not maintain one list of an object of those properties?
We should add Google Fit integration and sync the following data in to Glucosio from Google Fit:
We should export to Google Fit:
We will need to update Terms of Use and add a privacy policy to cover this data sharing if users opt-in to Google Fit connection.
FAQ (view) added and implement bug reporter library.
The trend over last month text we should maybe consider making "month" a selector and let users tap it and select day, week, month or year and have it display different averages with a tap.
Lets get @chrispecoraro feedback on this
Settings lacks anyway to go back to main activity
At this point we should ensure the strings.xml is up to date with all strings in latest release and should begin translation.
We need to create a backend framework or library (this might be better so other projects can use it) that will power our backups and can connect to a few providers such as Box, Dropbox, Google Drive, etc.
We will need a SQLite DB and also to ensure that Android M native app backup occurs between flashes and when users change hardware see: https://developer.android.com/preview/backup/index.html)
Edit this to add any remaining DB work this will track it for Noce!
We should consider having the glucosio icon in the top lefthand side of the app above tabs
https://github.com/Glucosio/brand-assets/blob/master/logos/png/PNG-07.png
We should add the ability to record weight and track weight in DB and UI
We should allow users to track carbohydrate or meal intake and will need to add support to the DB and UI for this
We will want a dedicated graph view/activity powered perhaps by https://github.com/PhilJay/MPAndroidChart or another library that @paolorotolo finds suitable.
Additionally we may want to consider having the main view or main activity be a sort of dashboard that shows some smaller graphs and data see the blow example:
I like the main screen idea but theirs is kind of busy and we can do better on layout and design.
Feedback from Jacob Park:
I recommend someone to clean https://github.com/Glucosio/android/blob/master/app/src/main/java/org/glucosio/android/db/DatabaseHandler.java, Cursors are a resource which must be closed after use. Furthermore, utilizing raw SQL and indices within inline code is not the best practice.
About (view) to list licensing information of the app and of open source libraries used and with a short paragraph about the project and current version of the app being ran. We could also have a link to our website, github etc here.
The version in settings is input field
Please convert preferred_language from int to string in Database.
We need mockups for our initial design based on the specifications distributed to the team.
For our initial release we will want users to be able to:
Set Demographics (Age, Gender, Language, Country, City)
Set Measurements mmol/L or mg/dl
Opt-In to Academic Research (Although backend wont be live till future version)
Input Category Customization (Measure before bed, after meal, fasting etc)
Notification Settings (Hourly, Daily or other interval reminders to input Glucose)
We should add Google Drive Backups to Settings so users can configure Glucosio to keep a backup of their data on Google Drive. We should integrate this so that backup syncing is automatic but also that there is a manual import feature to recover backups.
In addition to before breakfast, etc, there needs to be additional categories.
Tips (view) to provide general diabetes tips to help users make choices that improve their outcomes.
@paolorotolo When you get to working on this lets discuss how this will work early on and I can help source a collection of tips that we can include. And later on perhaps we can make it more expansive.
I think we want to be sensitive about some users being in low bandwidth countries so we should ship some tips local but also have the option to have maybe a RSS feed to add more to the rotation.
We want early feedback from users we should have a submit feedback option in settings. Can you add this to settings mockup.
Paolo,
Lets try and implement MVP https://github.com/konmik/konmik.github.io/wiki/Introduction-to-Model-View-Presenter-on-Android
Settings (view) add backup options, implement code (backend) for occasional sync of glucose data to server or managed cloud provider for users who opt-in to academic research, add signup for newsletter
We need to add support to accept HbA1c readings to the DB and in the add recording UI
Since we will be optimizing and changing the database in the future undoubtedly we will need a ORM to help us ensure the future DB changes are not putting existing local db on handsets at risk of loss of glucosio data.
If we proceed without a ORM we will be digging a hole in terms of more work and problems
http://guides.codepath.com/android/Persisting-Data-to-the-Device#object-relational-mappers
@paolorotolo @ahhmarr @chrispecoraro please discusses the pros and cons of each of these and pick one and we do need to implement one sooner than later and likely for Noce.
Add Customer Category Creation in settings so custom categories are then choosable when doing entries.
Add Gitty Reporter
We should add blood pressure tracking to DB and UI
On my device, Samsung Galaxy S5, "Get Starting" is not viewable without scrolling.
Once we start integrating third-party services and have support for recording weight, activity, bp etc we should investigate adding Balance Rewards Support.
https://developer.walgreens.com/api/balance-rewards/apimethod/balance-rewards-api
Since this wont be till way down the line I wont target this for now
We need to make sure our UI will scale to translated words as they may be larger than the UI is currently intended for instance overview translated to spanish is longer and so its tips.
Note from Mozilla's l10n lead staff:
Since they're translating strings out of context, they'll need to be able to test them within a build to ensure that the meaning is accurately represented in the translation, that the app is properly internationalized, and that their translations fit within the UI constraints of both a mobile device
Readings History Activity:
11.1 mmol/l (200 mg/dl) is hyperglycemia while symptoms may not show till 15โ20 mmol/l (~250โ300 mg/dl) we should warn the user in the input dialog when they enter a glucose level that enters this range and say something like "The value you have entered is within the hyperglycemia range, consider consulting a medical professional." but still record the value.
Below 3.9 mmol/L (70 mg/dL) is diagnostic for hypoglycemia so we should woarn "The value you have entered is near hypoglycemia" if its not yet below but if it is below we should warn "The value you have entered is within the hypoglycemia range, consider consulting a medical professional."
In discussion with Paolo and Christopher it seems obvious that the database will need some changes to ensure it can scale to the kind of data we will be handling long term.
Lets identify with Christopher what changes he thinks are best and either he or @ahhmarr can implement them.
Paolo I will assign this to you can we get Christopher's email on Telegram and I can invite him so we can maybe assign to him. We have a very short window to release so lets push on this.
We will need to get a final build to our translators before we release so they can test their translations in the UI and make sure the context works.
Note from Mozilla's l10n lead staff:
Since they're translating strings out of context, they'll need to be able to test them within a build to ensure that the meaning is accurately represented in the translation, that the app is properly internationalized, and that their translations fit within the UI constraints of both a mobile device
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.