Giter VIP home page Giter VIP logo

app-nehmen's Introduction

AppNehmen Calorie Counter

The goal of this project is to create a calorie counter that doesn't suck.

Go to https://www.tkglaser.net/app-nehmen to try it out.

Dependency Status

GitHub forks GitHub stars

Design Goals

  • All other calorie trackers I tried annoyed me in some way. Too slow, too many ads, suspicious use of my data. So I decided to try to create one that doesn't suck.
  • I wanted to be able to use it as a mobile app and as a web site.
  • It needs to work offline.
  • All data is stored locally on your device. No sharing, selling or spying.
  • No login-with-email, no reset password, no login-with-facebook or other dodgy stuff. In fact if all data is stored locally, why not have no login at all?
  • Free and open source.
  • However I do want to be able to enter data on my laptop and see it appear on my phone. So the app can optionally sync to your Dropbox.
  • Potentially, if it is technically and economically feasible, query 3rd party providers like MyFitnessPal for calorie entries
  • Export data to CSV if you want a manual backup (I might drop this as it is somewhat redundant with the Dropbox option)

Architecture

  • The app is a PWA written in Angular. This means it runs in the browser but can be installed as an app on all Platforms that support PWAs which is Android, iOS and the Windows Store.
  • All data is stored on the device using IndexedDB.
  • If you chose to log in to Dropbox, your data is synced to your Dropbox. The app only has access to a specific folder in your Dropbox.
  • It is hosted on Github pages and is continuously deployed by a Jenkins server that runs on a Raspberry Pi.

Get involved

Please report any issues you find here on Github. Pull requests welcome. There is no unit test coverage yet but this is planned as well.

app-nehmen's People

Contributors

dependabot[bot] avatar tkglaser avatar

Stargazers

 avatar

Watchers

 avatar  avatar

app-nehmen's Issues

Create the ability to login

  • Should be optional
  • If logged in, data syncs across devices
  • Log in using 3rd party only (Google, Facebook, etc.)

History Screen

  • Go back in time (by day) to see entries of that day
  • Should be impossible to go back before the first entry was made
  • Should be impossible to go to future date
  • Ability to edit entries

Weekly cheat day mode

Configure a day a week as cheat day. It will accept entries but display "happy cheat day" instead of remaining calories.

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.