Blackterz is a full-stack web application for fitness enthusiasts and gym-goers who want to manage their workout routines, record training sessions in real time, and visualize strength progress over time. The backend is a REST API built with Node.js and Express, backed by MySQL, and the frontend is a dark-mode Vanilla JS single-page app served statically from the same server.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Blackterz2/Proyecto_5to_Semestre/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Clone the repo, configure your database, and have the server running in minutes.
Configuration
All environment variables — database, JWT secret, mailer, and AscendAPI key.
API Reference
Full reference for every REST endpoint: auth, routines, sessions, exercises, users, and stats.
Architecture
MVC structure, MySQL schema, security layers, and request lifecycle.
Core Features
Authentication
JWT tokens, bcrypt password hashing, and email-based password recovery.
Workout Routines
Create and manage up to 4 personalized routines with ordered exercises.
Training Sessions
Log every set with weight and reps, auto-save drafts, and rest timers.
Exercise Catalog
64 exercises with images and looping MP4 videos via AscendAPI.
Progress Tracking
Weekly volume charts with Chart.js and personal records per exercise.
User Profile
Avatar upload, biometric data, and onboarding flow for new users.
Get Running in 4 Steps
Set up the database
Create a MySQL database and run the seed and migration files from the
docs/ folder. See the Quickstart for the exact order.Configure environment variables
Copy
.env.example to .env and fill in your database credentials, JWT secret, SMTP settings, and AscendAPI key. Full reference at Configuration.The AscendAPI integration (exercise videos) requires a free RapidAPI subscription to the EDB with Videos and Images by AscendAPI product. The free tier includes 2,000 requests/month — sufficient for the full 64-exercise catalog.
