https://github.com/msanvarov/angular-fitness-manager
Fitness manager app designed for a Angular bootcamp in explaining different angular concepts
https://github.com/msanvarov/angular-fitness-manager
angular compodoc docker firebase fitness-manager nx
Last synced: 3 months ago
JSON representation
Fitness manager app designed for a Angular bootcamp in explaining different angular concepts
- Host: GitHub
- URL: https://github.com/msanvarov/angular-fitness-manager
- Owner: msanvarov
- Created: 2022-08-23T22:09:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-25T21:19:16.000Z (almost 4 years ago)
- Last Synced: 2025-05-24T05:35:35.776Z (about 1 year ago)
- Topics: angular, compodoc, docker, firebase, fitness-manager, nx
- Language: TypeScript
- Homepage: https://fitness-61884.web.app/
- Size: 399 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Fitness Manager
Fitness Manager is an app built with Angular to plan meals and workouts.
Table of Contents:
[Description](#-description) |
[Prerequisites](#%EF%B8%8F-prerequisites) |
[Deployment](#-deployment) |
[Testing](#-testing) |
[TypeDocs](#-typedocs) |
[Progress](#-progress) |
[Resources](#-resources)
🔎 This repo was created with [Nx](https://nx.dev/).
### 📚 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](https://github.com/angular/angularfire)).
> Please refer to the [CONCEPTS.md file](CONCEPTS.md) for a list of topics covered.
---
### 🛠️ Prerequisites
#### Non Docker
- Please make sure to have [Node.js](https://nodejs.org/en/download/) (16+) locally by downloading the Javascript runtime via `brew`, `choco`, or `apt-get`.
#### Docker 🐳
- Please make sure to have [Docker Desktop](https://www.docker.com/products/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](https://cloud.google.com/firestore/docs/client/get-firebase).
- 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:
```bash
# 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
```bash
# 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](http://localhost:3000/)**.
---
### 🏗️ Progress
| Branches | Status |
| ---------------------------------------------------------------: | :----- |
| [main](https://github.com/msanvarov/fitness-manager) | ✅ |
| [feat/\*](https://github.com/msanvarov/fitness-manager/branches) | 🚧 |
---
### 👥 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:
- [Angular](https://angular.io)
- [Nx Docs](https://nx.dev/getting-started/intro)
- [Firebase Docs](https://firebase.google.com/docs/)
- [Firebase CLI](https://firebase.google.com/docs/cli/)
- [AngularFire Repo/Docs](https://github.com/angular/angularfire)
---
### 📇 License
The fitness manager app is [MIT licensed](LICENSE).
[Author](https://sal-anvarov.tech/)