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

code style: prettier

Fitness-Traninig-Apps

Overview

  • Develop a fitness training application that provides personalized workout plans.​
  • Tracking progress features to help individuals to achieve their fitness goals.​
  • A trainer can add some important training tips for each workout.​
  • Users must be logged in to their account in order to create personalized workout plans and track their progress over time.​
  • Users can create their own profile and set their initial fitness level and goal.​
  • The goal is to create a comprehensive fitness tool that motivates and guides users through their fitness journey.​

Technologies Used

  • Node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • Express.js - Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
  • Typescript - TypeScript extends JavaScript by adding types to the language
  • MongoDB - MongoDB is an open-source document database built on a horizontal scale-out architecture that uses a flexible schema for storing data.
  • Mongoose - Mongoose is a JavaScript object-oriented programming library that creates a connection between MongoDB and the Node.js JavaScript runtime environment.
  • Docker - Docker is a platform designed to help developers build, share, and run container applications.
  • Jest - Jest is a JavaScript testing framework designed to ensure correctness of any JavaScript codebase.

Backend File Structure

backend/

├── package.json
├── docs/
├── tests
└── src/
        ├── index.ts       // boot file
        ├── app.ts         // express app root file
        ├── middleware/
            └── authenticate.ts
            └── authorize.ts
            └── ownership.ts
            └── index.ts
        ├── routes/
        │   ├── index.ts
        │   ├── public.ts
        │   ├── private.ts
        │   ├── admin.ts
        ├── api/
        │   └── v1/
        │       ├── auth/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
                ├── workouts/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
                ├── progress/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
                ├── profile/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
                ├── user/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
                ├── token/
        │       │   ├── index.ts
        │       │   ├── controllers.ts
        ├── lib/
        │   ├── auth/
        │   │   ├── index.ts
        │   └── workout/
        │       ├── index.ts
        │       ├── progress/
        │       │   ├── index.ts
        │       ├── profile/
        │       │   ├── index.ts
        │       ├── user/
        │       │   ├── index.ts
        │       ├── token/
        │       │   ├── index.ts
        ├── model/
        │   ├── WorkoutPlan.ts
        │   ├── Progress.ts
            ├── Profile.ts
            ├── User.ts
            ├── Token.ts
        └── utils

Setup

follow .env.example file for setup environment variables

Run the MongoDB server with Mongo-express

docker-compose up -d

Run the application server

yarn run dev

Run the Tests

yarn run test .\tests\**\**\*

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