/angular-fitness-manager

Fitness manager app designed for a Angular bootcamp in explaining different angular concepts

Primary LanguageTypeScript

Fitness Manager

Nest Logo

Fitness Manager is an app built with Angular to plan meals and workouts.

CI status for main branch   CI status for PRs  

Table of Contents:

Description | Prerequisites | Deployment | Testing | TypeDocs | Progress | Resources

🔎 This repo was created with Nx.

📚 Description

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.


🛠️ Prerequisites

Non Docker

  • Please make sure to have Node.js (16+) locally by downloading the Javascript runtime via brew, choco, or apt-get.

Docker 🐳

  • Please make sure to have Docker Desktop operational to quickly compose the required dependencies. Then follow the docker procedure outlined below.

🚀 Deployment

Manual Deployment without Docker

  • Download dependencies using npm i or yarn.

  • 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.

Deploying with Docker 🐳

  • 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.

✅ Testing

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

💡 TypeDocs

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.


🏗️ Progress

Branches Status
main
feat/* 🚧

👥 Support

PRs are appreciated, I fully rely on the passion ❤️ of the OS developers.


📖 Resources

Further resources to provide further insight into Angular and Firebase:


📇 License

The fitness manager app is MIT licensed.

Author