- 📖 Overview
- ✨ Features
- 🛠 Technologies Used
- 📂 Project Structure
- 🚀 Setup & Installation
- 🧪 Running Tests
- 📚 Resources
- 🤝 Contributing
- 📜 License
The Fitness Training Application is a platform that provides personalized workout plans, tracks user progress, and offers training tips to help individuals achieve their fitness goals.
- ✅ Enable users to create customized workout plans.
- ✅ Provide tracking features for progress monitoring.
- ✅ Allow trainers to add training tips for each workout.
- ✅ Require user authentication for personalized experiences.
- ✅ Enable profile creation to set initial fitness levels and goals.
🚴 Personalized workout plans
📊 User progress tracking
💡 Trainer tips for exercises
🔒 Secure authentication and authorization
👤 Profile management with fitness goal setting
🌐 RESTful API architecture
The application is built using modern technologies and best practices:
- ⚡ Node.js: JavaScript runtime for backend development.
- 🚀 Express.js: Fast and minimalist web framework for Node.js.
- 🏗 TypeScript: Enhances JavaScript with static types.
- 🗄 MongoDB: NoSQL database for flexible data storage.
- 🔗 Mongoose: ODM library for MongoDB and Node.js.
- 🐳 Docker: Containerization for seamless development and deployment.
- 🧪 Jest: JavaScript testing framework ensuring code quality.
backend/
├── package.json
├── docs/ # 📄 Documentation files
├── tests/ # 🧪 Unit & integration tests
└── src/
├── index.ts # 🚀 Application entry point
├── app.ts # ⚙️ Express app configuration
├── middleware/ # 🔐 Middleware functions
│ ├── authenticate.ts
│ ├── authorize.ts
│ ├── ownership.ts
│ ├── index.ts
├── routes/ # 🌍 API route handlers
│ ├── index.ts
│ ├── public.ts
│ ├── private.ts
│ ├── admin.ts
├── api/
│ └── v1/
│ ├── auth/
│ ├── workouts/
│ ├── progress/
│ ├── profile/
│ ├── user/
│ ├── token/
├── lib/ # 🔧 Core business logic
├── models/ # 🗂 Mongoose models
├── utils/ # 🔨 Utility functions
git clone /~https://github.com/yourusername/Fitness-Training-App.git
cd Fitness-Training-App
yarn install
Copy .env.example
to .env
and update the required values.
docker-compose up
Run unit and integration tests using Jest:
yarn test
Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request.
This project is licensed under the MIT License.