Hobby project created to improve full stack web development skills. It allows to control daily activity and caloric balance by planning diet and trainings. Wrapped with tests and example CI/CD approaches for most popular tools.
- Django with Django REST framework
- Angular 11
- PostgreSQL 12
- frontend deployed on Netlify - https://fitkeeper-app.netlify.app/
- backend deployed on Heroku - https://fitkeeper-backend.herokuapp.com/
- PostgreSQL database deployed on Heroku with Heroku Postgres
Project provides example CI/CD configurations for most popular tools available on the market:
- Jenkins
- TravisCI
- Circle CI
- Gitlab CI/CD
The CI pipeline consists of four stages:
- static Python code analysis (flake8)
- backend application tests
- static TypeScript code analysis (tslint)
- frontend application tests
The CD pipeline consists of following stages:
- remote deploy of backend application to Heroku server
- remote deploy of frontend application to Netlify server
Particular steps were wrapped with Docker/Docker Compose in order to unify environment creation and ensure repeatability and portability.
- create possibility for users to add new products dynamically (consider https://fdc.nal.usda.gov/ to fetch nutrition data)
- wrap dashboard with some charts about distribution of macronutrients and diet/training history
- add more functionalities - monitor weight and body parts measurements
- database backup process
- add some monitoring for applications and database + visualize that with available open source tools