Fitness Manager is an app built with Angular to plan meals and workouts.
Table of Contents:
Description | Prerequisites | Deployment | Testing | TypeDocs | Progress | Resources
🔎 This repo was created with Nx.
This Angular application is made to cover a variety of Angular topics/concepts. It comes with authentication, logging, security, and database features out of the box (mainly thanks to AngularFire).
Please refer to the CONCEPTS.md file for a list of topics covered.
- Please make sure to have Node.js (16+) locally by downloading the Javascript runtime via
brew
,choco
, orapt-get
.
- Please make sure to have Docker Desktop operational to quickly compose the required dependencies. Then follow the docker procedure outlined below.
-
Download dependencies using
npm i
oryarn
. -
Start the app in development mode by using
npm run start
(the app will be exposed on port 4200; not to conflict with other frontend framework/library ports).
Optional: Change to personal Firebase project
Remark: I created a Firebase project for this app to enable ease of use (thus running the application should work out of the box) but there are limitations. It is free-tiered and once the quota is reached, the project will be disabled.
- Create a Firebase project.
- Onboard the created Firebase project with
npx nx g @angular/fire:ng-add
. This command will prompt a Firebase login and ask to select a Firebase project. Following the rest of the prompts can provide hassle-free configuration.
- Execute the following command in-app directory:
# creates and loads the docker container in detached mode with the required configuration
$ docker-compose up -d
- The following command will download dependencies and execute the web application on http://localhost:4200.
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
The documentation for this application can be viewed via the command npm run compodoc
.
This command will produce a documentation folder with the required front-end files and start hosting on localhost:3000.
Branches | Status |
---|---|
main | ✅ |
feat/* | 🚧 |
PRs are appreciated, I fully rely on the passion ❤️ of the OS developers.
Further resources to provide further insight into Angular and Firebase:
The fitness manager app is MIT licensed.