How salttechsolutions/marte works
Gymentra is a multi-tenant gym-management and training product: members join a gym, book and attend sessions, manage memberships, and follow workouts; trainers and administrators manage schedules, members, programs, and gym operations. The mobile app is the user-facing client, backed by Firebase services and Cloud Functions. The rig package provides a separate training-simulator capability. The booking and workout links reflect sampled source; other feature branches are documented by the route tree and README, but their detailed wiring was not sampled.
Main entry points: session.tsx Workout session · app Mobile app routes · AuthContext.tsx Auth and tenant context · book-session.tsx Book PT session
Components 23
Mobile app
- Mobile app routes
apps/gymentra-mobile/src/app - Auth and tenant context
apps/gymentra-mobile/src/context/AuthContext.tsx - Social sign-in
apps/gymentra-mobile/src/services/socialAuth.ts
Gym operations
- Book PT session
apps/gymentra-mobile/src/app/member/book-session.tsx - PT session access
apps/gymentra-mobile/src/data/firebase/ptSessionRepo.ts - Trainer scheduling
apps/gymentra-mobile/src/app/trainer - Gym administration
apps/gymentra-mobile/src/app/admin - Gym onboarding
apps/gymentra-mobile/src/app/onboarding
Training
- Member workouts
apps/gymentra-mobile/src/app/member/workout - Workout session
apps/gymentra-mobile/src/app/member/workout/session.tsx - Workout log access
apps/gymentra-mobile/src/data/firebase/workoutLogRepo.ts - Program progression
apps/gymentra-mobile/src/data/program.ts - Exercise library
apps/gymentra-mobile/src/data/exerciseLibrary.ts - Training simulator
packages/rig/src/rig.ts - Rig audit rules
packages/rig/src/rigAudit.ts
Backend services
- Firebase client
apps/gymentra-mobile/src/services/firebase.ts - Cloud Functions
backend/functions/src/index.ts - Session booking logic
backend/functions/src/sessions.ts
Other components
- Member
- Trainer
- Gym admin
- Firebase Auth
- Firestore
Connections 20
- Member → Mobile app routes: uses
- Trainer → Mobile app routes: uses
- Gym admin → Mobile app routes: uses
- Mobile app routes → Auth and tenant context: resolves identity
- Auth and tenant context → Firebase client: reads tenant data
- Social sign-in → Firebase Auth: signs in
- Member → Book PT session: books session
- Book PT session → PT session access: requests booking
- PT session access → Cloud Functions: calls booking function
- Cloud Functions → Session booking logic: dispatches
- Session booking logic → Firestore: reads and writes
- Trainer → Trainer scheduling: manages schedule
- Gym admin → Gym administration: manages gym
- Member → Gym onboarding: joins gym
- Member → Member workouts: trains
- Member workouts → Workout session: opens session
- Workout session → Workout log access: watches log
- Workout session → Program progression: loads history
- Workout session → Exercise library: looks up exercise
- Training simulator → Rig audit rules: applies audit rules