Application web open source permettant de créer, suivre et historiser un programme d'entraînement en salle de sport
- TypeScript 98.1%
- JavaScript 1%
- CSS 0.5%
- Dockerfile 0.4%
Prisma serializes DateTime as ISO 8601 (e.g. "2024-04-15T00:00:00.000Z"), so appending 'T00:00:00' produced an invalid string. Remove the concatenation so Date parsing works for both API and guest store dates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| prisma | ||
| public | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| LICENSE | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| prisma.config.ts | ||
| README.md | ||
| SPECS.md | ||
| tsconfig.json | ||
Radianite
Named after Valorant's crystalline resource. Pure energy for your gains.
Open source gym workout tracker — create programs, log sessions, track progression, and crush your goals. No SaaS, no lock-in, fully self-hosted.
Features
- Exercise Library — 20 core exercises with muscle group filters, search, and difficulty levels
- Custom Programs — Build your own routine with drag-and-drop exercise ordering
- 6 Preset Programs — Beginner to Advanced, male/female, 3-6 days per week
- Calendar Scheduling — Auto-generated workout schedule based on your training days
- Workout Logging — Log sets, reps, weight per exercise with a rest timer
- Progression Charts — Weight, volume, and frequency tracking with Recharts
- Guest Mode — Full access without an account, data stored locally
- Guest-to-User Migration — Seamless upgrade, local data syncs to your account
- PWA — Install on your phone, use offline at the gym
- Dark Theme — Valorant-inspired UI with sharp angles and bold typography
- Responsive — Mobile-first with bottom nav, desktop sidebar
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | Tailwind CSS 4 + valorant-ui |
| Database | PostgreSQL + Prisma 7 |
| Auth | NextAuth.js (credentials only) |
| Charts | Recharts |
| State | Zustand |
| Drag & Drop | @dnd-kit |
Getting Started
Prerequisites
- Node.js 20+
- npm
- PostgreSQL 16 (or Docker)
Setup
git clone https://github.com/your-org/radianite.git
cd radianite
npm install
cp .env.example .env.local
Edit .env.local with your database URL and a random NEXTAUTH_SECRET.
npx prisma migrate dev
npm run db:seed
npm run dev
Open http://localhost:3000.
Docker (recommended)
cp .env.example .env.local
docker compose up -d
docker compose exec app npx prisma migrate dev
docker compose exec app npm run db:seed
The app is available at http://localhost:3000.
Project Structure
src/
app/
(app)/ # Main app pages (dashboard, exercises, programs, calendar, ...)
(auth)/ # Login & register
api/ # API routes
components/
ui/ # valorant-ui components + custom (toast, PWA)
layout/ # Navigation, guest banner
workout/ # Workout logger, rest timer
programs/ # Program builder, exercise picker
history/ # Charts, session list
calendar/ # Calendar grid, week view
lib/ # Auth, data stores, utilities, workout store
prisma/
schema.prisma # Database schema
seed.ts # Seed data (20 exercises, 6 presets, muscles)
Contributing
See CONTRIBUTING.md.