Calorify is a web application that helps you track your daily calories. Once you create your account you can start adding every meal you eat during the day. You can also set your own daily calories limit and filter all the consumed meals over time in order to see once the meals that you are interested in.
The application is live, hosted on Google Cloud and you can find it here: http://app.calorify.jsoutof.space
If you are interested in the REST API only, you can check it here: http://api-calorify.jsoutof.space
To help you out in testing the API only you can use the following Postman collection: LINK
To test the admin / manager flow you can use the following accounts:
Manager:
- email: manager@calorify.com
- password: 123123
Admin:
- email: admin@calorify.com
- password: 123123
You can always escalate permissions for any account you previously created with any of the admin/manager accounts above.
You can find all the project related information (both for the client and the API) on the following link: https://vidimi7rov.gitbook.io/calorify
There are instructions on how to setup the project if you want to run it locally, details about the project architecture, main tools and technologies that are used and how all the modules work.
The codebase contains two projects. One for the client application and one for the REST API.
- Node.js (using the Koa framework)
- PostgreSQL (using knex query builder)
- TypeScript (type checker)
- TSLint (with airbnb linter rules)
- Jest (for unit testing)
- React (UI library)
- Redux (state management)
- Material-UI and styled-components (stylization)
- Babel (transpiler)
- Parcel (bundler)
- ESLint (with airbnb linter rules)
- Jest (for unit, snapshot and end-to-end testing)
- Puppeteer (for end-to-end testing)