# grandmaster24k/gym-track--ccp- architecture

> Architecture diagram of the GitHub repository grandmaster24k/gym-track--ccp-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/grandmaster24k/gym-track--ccp-
- Repository: https://github.com/grandmaster24k/gym-track--ccp-

## Overview

GymTrack is an in-progress C console application for recording workout sets and supporting basic fitness planning. The clearest implemented workflow is user-entered workout data: `addSets` validates and collects a session, adds entries to an in-memory database, then displays each added set. Separate features estimate calorie targets, generate workout plans, and report personal records. The tree contains no main/menu or storage implementation, so those documented capabilities cannot be traced as runtime paths; several history operations are declared or planned but not verified in the excerpts.

Main entry points: [`workout.c`](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/workout.c) (Set Logging), [`features.c`](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c) (Calorie Planning), [`tracker.h`](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/tracker.h) (Workout Database), [`input.c`](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/input.c) (Input Validation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workouts["Workout Tracking"]
  node_set_logging["Set Logging<br/>[workout.c]"]
  node_workout_history["Workout History<br/>[workout.c]"]
  node_workout_database[("Workout Database<br/>[tracker.h]")]
end

subgraph group_fitness["Fitness Features"]
  node_calorie_planning["Calorie Planning<br/>[features.c]"]
  node_plan_generation["Plan Generation<br/>[features.c]"]
  node_personal_records["Personal Records<br/>[features.c]"]
  node_weight_conversion["Weight Conversion<br/>[features.c]"]
end

subgraph group_shared["Shared Utilities"]
  node_input_validation["Input Validation<br/>[input.c]"]
  node_date_validation["Date Validation<br/>[input.c]"]
end

node_user(("User"))

node_user -->|"enters sets"| node_set_logging
node_set_logging -->|"reads input"| node_input_validation
node_set_logging -->|"validates date"| node_date_validation
node_set_logging -->|"adds entries"| node_workout_database
node_set_logging -->|"displays set"| node_workout_history
node_calorie_planning -->|"reads values"| node_input_validation
node_calorie_planning -->|"converts weight"| node_weight_conversion
node_personal_records -->|"reads records"| node_workout_database

click node_set_logging "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/workout.c"
click node_workout_history "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/workout.c"
click node_workout_database "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/tracker.h"
click node_calorie_planning "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c"
click node_plan_generation "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c"
click node_personal_records "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c"
click node_weight_conversion "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c"
click node_input_validation "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/input.c"
click node_date_validation "https://github.com/grandmaster24k/gym-track--ccp-/blob/main/input.c"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_set_logging,node_workout_history,node_workout_database,node_user toneBlue
class node_calorie_planning,node_plan_generation,node_personal_records,node_weight_conversion toneAmber
class node_input_validation,node_date_validation toneMint
```

## Components

### Workout Tracking

- [Set Logging](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/workout.c): `workout.c`
- [Workout History](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/workout.c): `workout.c`
- [Workout Database](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/tracker.h): `tracker.h`

### Fitness Features

- [Calorie Planning](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c): `features.c`
- [Plan Generation](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c): `features.c`
- [Personal Records](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c): `features.c`
- [Weight Conversion](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/features.c): `features.c`

### Shared Utilities

- [Input Validation](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/input.c): `input.c`
- [Date Validation](https://github.com/grandmaster24k/gym-track--ccp-/blob/main/input.c): `input.c`

### Other components

- **User**

## Connections

- User → Set Logging: enters sets (evidence: `README.md`)
- Set Logging → Input Validation: reads input (evidence: `workout.c`)
- Set Logging → Date Validation: validates date (evidence: `workout.c`)
- Set Logging → Workout Database: adds entries (evidence: `workout.c`)
- Set Logging → Workout History: displays set (evidence: `workout.c`)
- Calorie Planning → Input Validation: reads values (evidence: `features.c`)
- Calorie Planning → Weight Conversion: converts weight (evidence: `features.c`)
- Personal Records → Workout Database: reads records (evidence: `features.c`)
