Back to Projects
FitPulse
Next.js
React
JavaScript
Tailwind CSS
Node.js
Express
MongoDB
Framer Motion

FitPulse

FitPulse - Gym Management Platform

FitPulse is a full-stack Gym Management Platform designed to simplify gym operations and provide members with a smooth way to discover trainers, explore classes, book sessions, and manage payments.

The platform includes separate experiences for users and administrators, with secure authentication, role-based access control, trainer and class management, booking functionality, and Stripe-powered payments.

Project Overview

FitPulse was built as a practical full-stack application to solve common gym management problems in one centralized platform.

Members can browse available trainers and classes, make bookings, and complete payments securely. Administrators can manage users, trainers, and classes through a dedicated management interface.

The project focuses on building a realistic application with authentication, authorization, API integration, database operations, and payment processing rather than being only a frontend showcase.

Key Features

User Authentication

  • Secure user registration and login
  • JWT-based authentication
  • OAuth authentication
  • Protected routes and authenticated API requests
  • Persistent user sessions
  • Role-based access control

User Dashboard

Authenticated users can manage their gym activities from a personalized dashboard.

Users can:

  • Browse available trainers
  • Explore available classes
  • Book classes or sessions
  • Manage their bookings
  • Make payments
  • View their activity

Trainer Management

Administrators can manage trainers through the admin dashboard.

Features include:

  • Add trainers
  • Update trainer information
  • Remove trainers
  • View trainer details
  • Manage trainer availability

Class Management

Administrators can manage gym classes and their information.

The system supports:

  • Creating classes
  • Updating class details
  • Removing classes
  • Managing class schedules
  • Managing class capacity

Booking System

Users can book available gym classes or sessions through the platform.

The booking system handles:

  • Available classes
  • User bookings
  • Booking status
  • Capacity management
  • Authenticated booking requests

Payment Integration

FitPulse integrates Stripe for secure online payments.

The payment flow allows users to complete payments directly through the platform while keeping payment processing handled by Stripe.

Admin Dashboard

The admin dashboard provides centralized control over the gym platform.

Administrators can manage:

  • Users
  • Trainers
  • Classes
  • Bookings
  • Platform data

Role-based authorization ensures that administrative functionality is restricted to authorized users.

Authentication & Authorization

Security was an important part of FitPulse.

The application uses JWT authentication to verify authenticated users and protect private resources.

The platform also supports OAuth authentication for a more convenient login experience.

Role-based access control separates permissions between different types of users. This prevents regular users from accessing administrative functionality and allows administrators to manage the platform securely.

Tech Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Framer Motion

Backend

  • Node.js
  • Express.js
  • MongoDB
  • REST API

Authentication

  • JWT
  • OAuth

Payment

  • Stripe

Development Tools

  • Git
  • GitHub
  • REST APIs

Application Architecture

FitPulse follows a full-stack architecture where the frontend communicates with a dedicated backend through REST APIs.

The general flow is:

User
  ↓
Next.js Frontend
  ↓
REST API
  ↓
Express.js Server
  ↓
MongoDB

Authentication and authorization are handled between the frontend and backend, while Stripe is integrated separately for payment processing.

My Role

I worked on the development of the application with a focus on the frontend experience and full-stack integration.

My responsibilities included:

  • Building responsive user interfaces
  • Implementing authentication flows
  • Connecting frontend components with REST APIs
  • Implementing protected routes
  • Working with JWT-based authorization
  • Building trainer and class management interfaces
  • Implementing booking functionality
  • Integrating Stripe payments
  • Managing application state and API data
  • Improving responsive design and user experience

Challenges

One of the main challenges was connecting multiple parts of the application into a consistent full-stack workflow.

Authentication, authorization, API requests, database operations, bookings, and payments all needed to work together correctly.

Another challenge was handling different user roles. The application needed to provide different capabilities to regular users and administrators while keeping protected functionality inaccessible to unauthorized users.

Payment integration was another important learning experience because the payment flow required communication between the application and Stripe while maintaining a reliable user experience.

What I Learned

Building FitPulse helped me understand how individual technologies work together in a real-world full-stack application.

Through this project, I gained practical experience with:

  • Full-stack application architecture
  • REST API integration
  • JWT authentication
  • OAuth authentication
  • Role-based access control
  • MongoDB data management
  • Booking system design
  • Stripe payment integration
  • Protected routes
  • Admin dashboard development
  • Responsive UI development
  • Managing complex frontend and backend interactions

Project Outcome

FitPulse gave me practical experience building a complete gym management platform from frontend to backend.

Instead of focusing only on individual features, the project helped me understand how authentication, authorization, APIs, databases, payments, and user interfaces need to work together as one system.

The project also strengthened my confidence in building production-style applications with Next.js, React, Node.js, Express.js, MongoDB, JWT, OAuth, and Stripe.