Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/azahel79/Spartans-gym/llms.txt

Use this file to discover all available pages before exploring further.

Spartans Gym is a full-stack web application built for gym operators. It gives admin users complete control over memberships, finances, inventory, and staff — while providing receptionists a focused interface for daily operations like checking in clients and processing renewals.

Quick Start

Get the backend and frontend running locally in minutes

Deployment Guide

Deploy to production on Railway, Netlify, or Vercel

API Reference

Explore every REST endpoint with request and response schemas

Core Features

Dashboard, reception, memberships, POS, inventory, and more

What Spartans Gym Covers

Spartans Gym is designed for the day-to-day reality of running a gym. Every feature maps directly to a staff workflow:

Reception & Attendance

Register daily check-ins, view member status, and flag expiring memberships in real time

Client Management

Create, search, and manage member profiles with photo upload and membership history

Memberships & Plans

Configure monthly, quarterly, semi-annual, and annual plans with automatic expiry calculation

Point of Sale

Sell supplements, snacks, and merchandise with a cart-based POS and auto-stock deduction

Inventory

Track product stock levels, set reorder thresholds, and upload product images via Cloudinary

Transaction History

Filter and export all membership and product sales by date range and payment method

Role-Based Access

Spartans Gym enforces two roles across every feature:
FeatureAdminReceptionist
Dashboard (revenue data)
Dashboard (attendance data)
Register attendance
Create / renew clients
Edit / delete clients
Point of sale
Manage inventoryView only
Manage plans
Manage users
Gym configuration

Getting Started

1

Clone the repository

Clone azahel79/Spartans-gym and navigate to the spartans-gym subdirectory containing both backend and frontend-spartans-gym.
2

Configure environment variables

Copy backend/.env.example to backend/.env and frontend-spartans-gym/.env.example to frontend-spartans-gym/.env. Fill in your MySQL connection string and JWT secret.
3

Set up the database

From the backend directory, run npm install, then npm run prisma:generate, npm run prisma:migrate, and npm run seed to create tables and a default admin account.
4

Start both servers

Run npm run dev in backend (port 3000) and npm run dev in frontend-spartans-gym (port 5173). Open http://localhost:5173 and log in with the seeded admin credentials.
See the Quickstart guide for the full step-by-step setup, or jump straight to the Deployment guide if you are ready to go to production.

Build docs developers (and LLMs) love