GithubHelp home page GithubHelp logo

dilden / helth Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 2.52 MB

PWA for tracking nutrients and water

Home Page: https://helth.app/

License: GNU General Public License v3.0

JavaScript 25.94% HTML 0.37% Svelte 44.61% CSS 3.76% TypeScript 25.32%
js pwa svelte sveltekit

helth's Introduction

helth app

Helth app aims to be a minimalist web app for tracking calories, sodium, and water intake. It's a PWA built with SvelteKit. Helth app doesn't use any third-party services for managing your data. Instead, your data is stored locally on your device. It also has a sweet barcode scanner that can magically โœจ download packaged food items and the nutrients for that particular food by connecting you to the Open Food Facts API.

Getting started developing helth app

Building

To create a production version of helth app:

npm run build

Production builds can be previewed with npm run preview. Helth app currently uses the Cloudflare adapter but aims to be a static web application meaning it could be host from anywhere that can serve HTML, CSS, and JS files. This can be accomplished switching out the adapter with the SvelteKit static adapter.

Structure

Various reusable components are located in src/lib/. All data is stored locally in the user's browser and is managed via src/stores/stores with database connections handled at src/stores/db. Pages routes are found in src/routes/ and utility classes for transforming data can be found in src/utils/.

3rd Party Tools

This development of this app is made easier by utilizing the following tools:

helth's People

Contributors

dependabot[bot] avatar dilden avatar jimmyhogoboom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jimmyhogoboom

helth's Issues

readme

Readme should reflect the app; is currently sveltekit default readme

Create goals

Allow users to set goals for themselves which can be reflected in the history charts

Inventory Search

To add items, a user should be able to click/tap a "โž•" in the bottom right side (where ๐Ÿ“ท currently resides). It should open a screen that allows a user to search via terms or open the barcode scanner. Both the scanner and search should then give a list of items with each having an image, name, and nutritional information. Each item should be able to "saved" to a list or bookmarked as well as an option to add it to the daily totals. Related to #25

Item selection

Instead of automatically filling in the data for each nutrient fact after a successful scan, build out a list of potential items and allow the user to select the correct one; showing the nutrient facts alongside a title + photo. It would be nice to allow a user to select the number of servings at this time as well. Once selected, insert the data.

'Today' should reset automatically

After using the app for a day, opening on the next morning will show data from yesterday. App should automatically detect and change that. As it stands, the app needs to be force refreshed.

Navigation menu

Hamburger menu that pops out from the top right corner of the app showing

  • today (dashboard)
  • history
  • profile

Save to DB on scan

When a barcode is scanned, it should be saved to the local DB so that it can be utilized when offline.

Update dependencies

Been quite a while since I've done anything with this project and dependencies need to be checked and updated.

Camera area in scanner is too large

Cameras tend to focus on the background of the visible area. Getting the camera to focus on the barcode could be accomplished by reducing the size of the camera area. It might be helpful to show a red line for where the camera is most likely to focus

Support TypeScript

Should have done this from the get-go. Could absolutely benefit from TS throughout and can make these changes incrementally.

Formatting + styles

Come up with a logical layout for the app. It's a mess right now. Maybe use Bootstrap 5 CSS for managing the layouts.

Goal limit approaching

Within the tracker, highlight appropriate component in green (success), yellow (warning) or red (fail) for goal succeeded, approaching limit, and limit exceeded

Create updates/changes/news page

Users should be informed about changes made to the app. A prompt/notice box at the top of the screen or exclamation mark in the menu on any unread notices would be nice to have.

Counter intervals

Allow counter incrementing/decrementing intervals to be set by components built on top of it. Suggest increment x10 and decrement x1 as defaults.

Import/Export

In case a user clears their cache/local storage, allow for exporting history, today, and goals as json. Need to allow for importing it for this to be useful as well.

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.