Back to projects
Fitness centre management platform

FitHub

One platform for a fitness centre’s client profiles, training, schedules, memberships and attendance.

TYPECommercial project
FitHub — project screenshot 1
01 / About the project

About the project

FitHub is a commercial fitness-centre management system with a React client and a Spring Boot REST API. Separate client, trainer and administrator roles work with profiles, workout plans and logs, group and individual sessions, nutrition, goals and measurements, memberships, payments, reviews and notifications. PostgreSQL stores the core data; Redis supports caching and server-side coordination.

02 / The challenge

The challenge

Connect fitness-centre workflows while enforcing distinct client, trainer and administrator permissions in the API.

03 / What we built

What we built

Spring Boot REST API with JWT authentication and CLIENT, TRAINER and ADMIN role checks.

Workout modules cover plans, logs, exercises, sessions, attendance and a waitlist.

Separate modules track nutrition, water intake, goals, body measurements and personal records.

Memberships and payments, trainer profiles and reviews, in-app notifications and SSE updates.

PostgreSQL with Flyway-managed schema; Redis for caching, token blacklisting and session locks.

04 / Technology stack

Technology stack

JavaSpring BootReactTypeScriptPostgreSQLRedisJWTDocker Compose

Architecture & technology roles

Java
Typed application logic for desktop or backend components.
Spring Boot
A structured Java backend for APIs and business operations.
React
Interactive components and user-facing workflows.
TypeScript
Typed data models and application logic.
PostgreSQL
Relational storage of connected data and transactional consistency.
Redis
Fast storage supporting caching and auxiliary server processes.
05 / How it works

How it works

  1. The user signs in and receives access to role-appropriate sections.
  2. A client, trainer or administrator performs available operations in their workspace.
  3. The API checks permissions and stores changes in PostgreSQL; Redis handles caching and locks.
  4. Notifications appear in the app, with SSE delivering updates to connected clients.
THE NEXT STEP

Have a challenge? Let’s solve it.

Tell us what you need. We’ll clarify the details and suggest the next step.

Discuss your project