FitNexa System Overview
FitNexa is a multi-tenant fitness platform designed for gyms and fitness centers. It provides a full-stack solution including a mobile application for members, gym-specific admin portals, and a scalable microservices backend.
๐ฑ Mobile & Web Clientsโ
- FitNexa Mobile: A React Native (Expo) application supporting multiple gym brands (e.g., Iron Temple, Green Theory). It uses dynamic theming to present a bespoke experience for each gym.
- Gym Admin Portal: A "Chameleon" React application that adapts its UI, branding, and available features based on the logged-in gym's configuration.
- Super Admin Portal: The management hub for onboarding new gyms, managing subscriptions, and system-wide settings.
- Landing Page: A marketing site (Next.js) for the platform itself.
โ๏ธ Backend Architectureโ
The backend is built as a set of Node.js microservices coordinated by an API Gateway.
๐ Core Flowsโ
- Authentication: Handled by the Identity Service. Users receive a JWT that is stored locally and sent with all subsequent requests.
- Branding: Upon login/start, the Mobile App or Gym Admin fetches the gym's configuration from the Gym Service to set current themes and logic.
- Wizard flows: The Wizard Service powers multi-step onboarding and setup flows (e.g., gym configuration, member onboarding), exposed via the gateway at
/wizard. - Observability: Every service ships logs asynchronously via RabbitMQ to a dedicated Logging Service, which stores them in MongoDB for centralized analysis.
- Caching: The Messaging Service uses Redis to minimize database load for high-frequency operations like chat history lookups.
๐ Documentation Sectionsโ
For deeper technical details, please refer to:
- Backend Architecture ยท Services Catalog
- Shared Package โ
@fitnexa/sharedexports and usage (server vs client) - Mobile App Mechanics ยท Mobile Error Handling
- Infrastructure & Logging
- Contributing Guide ยท Monorepo Scripts
- Architecture Review ยท UAT Setup Guide