How alexeydesyatnik/gymlog works
GymLog is a phone-friendly strength-training log: a user signs in, creates or opens a workout, records planned and performed sets, and the client stores changes locally and synchronizes them with the server. The Owner can invite users and issue password-reset links. The graph includes the main workout, account, and synchronization capabilities documented in the README. Sampled source confirms the app entry, local journal, sync loop, and server routes; some screen and storage wiring is inferred only from module boundaries, so uncertain call edges are omitted.
Main entry points: journal.ts Journal operations · App.tsx App shell · WorkoutScreen.tsx Workout log · server.ts HTTP API
Components 19
Workout experience
- App shell
packages/client/src/ui/App.tsx - Workout list
packages/client/src/ui/WorkoutListScreen.tsx - Workout log
packages/client/src/ui/WorkoutScreen.tsx - Plan editor
packages/client/src/ui/PlanEditor.tsx - Exercise suggestions
packages/client/src/ui/Suggestions.tsx - Account management
packages/client/src/ui/Owner.tsx - Sign-in screens
packages/client/src/ui/SignIn.tsx - Entry presentation
packages/client/src/journal/entryView.ts
Local journal
- Journal operations
packages/client/src/journal/journal.ts - Device store
packages/client/src/journal/store.ts
Synchronization
- Sync coordinator
packages/client/src/sync/sync.ts - Sync HTTP client
packages/client/src/sync/api.ts
Server and data
- HTTP API
packages/server/src/server.ts - User and invite service
packages/server/src/users.ts - PostgreSQL data
packages/server/src/db/schema.ts - Shared record rules
packages/shared/src/validation.ts
Other components
- Trainee
- Owner
- PostgreSQL
Connections 22
- Trainee → App shell: uses
- Owner → Account management: manages accounts
- App shell → Workout list: routes to
- App shell → Workout log: routes to
- App shell → Sign-in screens: shows
- Workout list → Journal operations: reads workouts
- Workout log → Journal operations: records training
- Workout log → Plan editor: edits plan
- Workout log → Exercise suggestions: offers exercises
- Journal operations → Device store: reads and writes
- Journal operations → Entry presentation: builds entry views
- Journal operations → Sync coordinator: starts sync
- Sync coordinator → Device store: reads and writes
- Sync coordinator → Sync HTTP client: requests sync
- Sync HTTP client → HTTP API: calls API
- Sign-in screens → Journal operations: submits credentials
- Account management → Journal operations: requests account actions
- HTTP API → User and invite service: handles account routes
- HTTP API → Shared record rules: validates records
- HTTP API → PostgreSQL data: queries and updates
- User and invite service → PostgreSQL data: queries and updates
- PostgreSQL data → PostgreSQL: defines persisted data