Skip to content

The fitness training REST API application is a collection of public API endpoints that enables users to create, manage and interact with a single builder workout plan and track their progress over time

Notifications You must be signed in to change notification settings

aliakkas006/fitness-training-apps

Repository files navigation

🏋️‍♂️ Fitness Training Application

Code Style: Prettier

📌 Table of Contents


📖 Overview

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.

🎯 Key Objectives:

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

✨ Features

🚴 Personalized workout plans
📊 User progress tracking
💡 Trainer tips for exercises
🔒 Secure authentication and authorization
👤 Profile management with fitness goal setting
🌐 RESTful API architecture


🛠 Technologies Used

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.

📂 Project Structure

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

🚀 Setup & Installation

1️⃣ Clone the repository

git clone /~https://github.com/yourusername/Fitness-Training-App.git
cd Fitness-Training-App

2️⃣ Install dependencies

yarn install

3️⃣ Configure environment variables

Copy .env.example to .env and update the required values.

4️⃣ Run the application using Docker

docker-compose up

🧪 Running Tests

Run unit and integration tests using Jest:

yarn test

📚 Resources


🤝 Contributing

Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request.


📜 License

This project is licensed under the MIT License.

About

The fitness training REST API application is a collection of public API endpoints that enables users to create, manage and interact with a single builder workout plan and track their progress over time

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published