Aplicație web de tracking fitness, construită cu React, TypeScript și Supabase.
- Planuri de antrenament — creează și gestionează planuri personalizate
- Sesiuni active — urmărește antrenamentul în timp real cu timer de odihnă
- Logare seturi — greutate, repetări și RPE pentru fiecare set
- Istoric sesiuni — vizualizează toate antrenamentele anterioare
- Progres — grafice de evoluție per exercițiu și greutate corporală
- Exerciții cu imagini — bibliotecă extinsă cu gantere + aparate pentru toate grupele musculare
- Exerciții custom — adaugă propriile exerciții
| Layer | Tehnologie |
|---|---|
| UI | React 18 + TypeScript |
| Styling | Tailwind CSS (dark theme, accent portocaliu) |
| Routing | React Router DOM v6 |
| Charts | Recharts |
| Icons | Lucide React |
| Backend | Supabase (PostgreSQL + Auth) |
| Build | Vite |
# Clonează repo-ul
git clone https://github.com/Alcrro/appFittness.git
cd appFittness
# Instalează dependențele
npm install
# Configurează variabilele de mediu
cp .env.example .env
# Editează .env cu credențialele Supabase
# Pornește dev server
npm run devCreează un fișier .env în root:
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_keySchema SQL se găsește în supabase-schema.sql. Rulează-o în Supabase SQL Editor pentru a crea tabelele.
Pentru a popula biblioteca de exerciții, rulează supabase_seed_chest.sql.
npm run dev # Development server
npm run build # Build pentru producție
npm run preview # Preview build localsrc/
App.tsx # Routing principal
context/AuthContext.tsx # Autentificare globală
hooks/ # Data fetching (Supabase)
components/
layout/ # Layout, Header, BottomNav
ui/ # Button, Card, Input, Modal
workout/ # ExerciseSelector
session/ # RestTimer
pages/ # Dashboard, Workouts, History, Progress, Profile
lib/
supabase.ts # Client Supabase
exercises.ts # Biblioteca exerciții
exercise_images.ts # Mapping imagini exerciții
types/index.ts # Tipuri TypeScript
Piept · Spate · Umeri · Biceps · Triceps · Picioare · Abdomen