A fitness tracking API built with modern for workout performance tracking.
- 📊 Advanced Analytics - Performance calculations and exercise progression tracking
- 🌐 RESTful API - Auto-generated OpenAPI documentation with interactive testing
- Workout performance calculation (1RM, Volume, Progressive overload and intesity)
- Workout data analysis and trend tracking
- Python 3.11+ (for local development)
- Docker (for containerized development)
- exercisedb API key www.exercisedb.dev
- Set .env variable
IMAGE_NAME=trackfit-service EXERCISEDB_API_KEY=YOUR-API-KEY EXERCISEDB_HOST_KEY=YOUR-API-KEY
# Clone the repository
git clone https://github.com/CarlosOchoa8/trackfit.git
cd trackfit-backend
# Run the following command
docker compose build --no-cache
docker compose up -d
# You can remove flag -d to show in terminal logs while container is running.Once running, access the interactive API documentation at:
- Swagger UI: http://localhost:80/docs
GET /performance/get_exercises- Retrieve paginated exercise list from exercisedb service
POST /performance/calculate- Calculate performance metrics
We welcome contributions!
- Setting up the development environment
- Code style and formatting guidelines (Black, isort, ruff)
- Type annotation requirements
- Testing standards and coverage expectations
- Pull request process
As were said, the project is in current development,therefore it is possible if you investigate on it, probably get any kind of error or improvements areas. If that's the case, feel yourself free to contribute with your comments, features, issues or pull request. I'll take a look. Thanks!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes with proper type annotations
- Commit changes:
git commit -m "Add amazing feature" - Push to branch:
git push origin feature/amazing-feature - Submit a Pull Request
- OpenAPI documentation
- Exercise CRUD endpoints
- Performance calculation endpoints
- Pagination and filtering
- Rate limiting and throttling
- Advanced query capabilities
This project is licensed under the MIT License - see the LICENSE file for details.
- TrackFit Frontend - React-based web interface
For questions, issues, or contributions:
- 🐛 Issues: GitHub Issues
