Giter Club home page Giter Club logo

meals's People

Contributors

aclowkey avatar airmed-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

meals's Issues

Brainstorming on basal vs bolus in the graphs

Right now insulin is displayed with a single dimension. There is value in differentiating between bolus and basal.
This could help the user understand how much to bolus for the meal.

Apple Health displays this in stacked column charts of the two models, perhaps the same could work for AAChartKit graph as well.

Apple health example

AAChartKirt example

Glucose graph doesn't show the vlaue

The glucose graph has a bug in the events page, and also in the meal details' meal events list.
When a point is clicked the value isn't shown
IMG_7912

Changing data source doesn't apply immediately

In the settings page, when changing the datasource it doesn't apply globaly.

The cause of this seems to be that that Store is initiated based on settings only when the app is starting. And when changing the datasource type it is's only changing the name of which datasource is in use, and doesn't create a metric store.

Rename statistics block to metrics

The events page shows the title of "Statistics", but it doesn't provide any actual statistics.
It sohuld be renamed to "Metrics" as this is more accurate.

Initial screen with "No events" is confusing.

When first opening the app, the screen is says "No events - log an event" - this is pretty confusing.
Perhaps it should prompt to create the first meal? Or show the meals first?

Or, there could be a fab that's opening and asking you to choose a meal or create one?

Fix timeline has ordering bugs

There are situation where scrolling through the timeline introduces a glitchy order.

RPReplay_Final16694668490-compressed.mov

Handle no metrics for events page

In the events page, when there is no data an empty block is shown.
This block takes space and doesn't indicate there is no data.
It should behave similar to other no-data events and display an icon with the label "No data"

Current state

Example of no-data from Meal Details

Screen Shot 2022-10-22 at 9 50 42

Glucose range indicators

We need some way to indicate glucose values are in range or not.
This is a useful visual cue.

Approaches

There are a few approaches to add visual cues to the CGM values.
Here are a few examples.

Background color of the range

Change color the background of the range. Similar to loop

Dexcom uses this approach and also adds different colors different severity levels.

Color of points

Change the color of the points according to the range.

Tasks

  • Decide on a style
  • Implement it
  • Add a range selector
    • The settings view
    • The on boarding view

Add support for different insulin models

Currently the insulin on board is calculated based on a hard coded value.
There are different kinds of insulin and each has its own active time.
The settings page should support the different insulin models.
This can be copied from Loop, where there are 4 insulins models: Walsh, rapid acting for adults, rapid acting for children and fiasp.

Example from loop

Description block is too small

In the meal editor there is a bug where the block of description is too small and it's cutting off the space.
It should take all available space.

Automated testing

The app doesn't have any automated testing.
It would be helpful to make a stable app, and prevent from bugs appearing by accident and save time on manually testing things.

The scope of the test is yet to be decided. It could be a bottom-up testing strategy where the most inner components are tested. Also there could be a more end-to-end testing, where the main flows of the app are tested, and thus covering the inner components.

Merge statistics and meal events into the same block

Right now in meal details, statistics and meal events are in different window.
This isn't correct, and causes weird behavior. Both of these blocks are some view of the glucose/insulin metrics.
It means that when there is no data, both of these show that there is no data, and both of them show other duplicate information such as total events, and the hour interval.

They should be merged into the same block named something like "Metrics", and under that have 2 sub sections named "Statistics" and "Meal events"

Example of current situation

Desired situation

  • Metrics
    • Statistics
      • Glucose stats
      • Insulin stats
    • Meal events
      • meal event
      • ...
      • meal event

Make meal header fill to the top edge

Right now the meal header is cut off before the unsafe area. This would look better if the photo would reach the edge of the screen.

Current state

IMG_F3041BC1805D-1

Handle no data in the meal events list

Right now meal events show an empty graph when there is no data. In this case, the question is what should be done?

On one hand, what's the value of a meal event that has no statistics?
Perhaps it could be used later on to calculate stats such as, how often was it eaten.

In the meal events, the whole point is to see the graphs, so there is really no value in showing an empty block. In other places with no data, we are showing a no-data graphic, but this one would take too much space.

I think the straight forward is to show some minimal thing that would indicate something happened there, but there is no glucose data, and it shouldn't take the whole space of the chart.

Example of the current situation

Rough sketch of what it would look like ideally (Perhaps add an icon?)

Screen Shot 2022-10-22 at 8 56 36

Fill missing glucose values

When there are only several values, they are skewed horizontally. The chart is centering it.
It's critical to show the insulin+glucose values aligned to each other horizontally. The values in the range should be filled with nil.

Fix dark mode

Dark mode isn't working properly.

  • Graphs should get dark background when in dark mode
  • Timeline edge should start from dark

Graph labels should round the value

In the graphs in both individual events and also statistics, the value has too many decimal points.
It should be rounded to nearest 2 points for readability.

IMG_7912

mmol/L support

Currently the app was built with only mg/dL in mind. It would be useful to support mmol/L.
Need to test it and see what changes are required

Jagged glucose statistics

There is a bug that happens in glucose statistics. It renders that graph with jagged edges.
The cause isn't clear, perhaps there is some data that isn't in order, or the data should be smoothed, perhaps by calculating smaller ranges

ACC06253-7ABC-498D-9CBA-03F94FA9744C

Photo is skewed when editing a meal

There is a bug in the meal editor. When editing a meal, the keyboard pops up and makes the view smaller, then the photo gets smaller and it loses it's aspect ratio.

Perhaps in this case it should be cropped in the middle
IMG_F83246867E13-1

Align meal header in meal event page

The meal event page uses a header that is different from the other pages.
The pages use a photo that's cropped in the center, with the title overlaying the photo.
However, in the event page, the photo is above, and there is a white block that's offseted into the photo and the title is on the white page.

Current state

Desired state

loading icon during HealthKit authorization

When asking for healthkit authorization, it might take some time until the HealthKit access screen appears.
So in this case, we might wanna show a loading screen for the user.

Round axis values

Value + time axis should be rounded to nearest 5 minute, or 25 mg/dL

On boarding page

Right now the app doesn't introduce itself to the user.
It would be helpful to show the user a page that describe the most useful features.
And also prompts the user to choose a datasource, and authorize it or configure it as necessary.

For example the flow could be something like

  1. "Welcome to Meals - The T1D food tracker
  2. Create your food data
  3. View the history of your food, glucose and insulin
  4. View statistics of your food data
  5. Choose a datasource:
  6. Configure it
  7. Authenticate (HealthKit requires authorization, NightScout could be just a test request)

Minimum value fo ranges

Right now the charts are using the minimum value of the data as the minimum value of the axis.
It would be more useful to show the values in relation to a static minimum value. Perhaps of 75, or the range's minimum value - after it's implemented with #53

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.