A professional mobile fitness tracking and community platform
BuildFit is a cross-platform mobile application that enables users to create custom workouts, track fitness progress, and share workout routines with a vibrant community.
- Authentication System - JWT with secure login/register
- Workout Builder - Create custom workouts with 80+ exercises
- Workout Execution - Real-time workout guidance with timers
- Template System - Save and reuse workout templates
- Community Features - Browse, publish, and discover workouts
- Backend API - Complete REST API with validation
- Database - PostgreSQL with migrations and seeding
- Analytics & Calendar - Progress tracking, workout history, streaks
BuildFit/
βββ mobile/ # React Native mobile app
βββ backend/ # Node.js Express API server
βββ shared/ # Shared types and utilities
βββ docs/ # Documentation
β βββ DEVELOPMENT_GUIDE.md # Complete technical guide
β βββ PROJECT_ROADMAP.md # Progress and planning
βββ README.md # Project overview
- Node.js 16+
- PostgreSQL 12+
- React Native development environment
- Android Studio (for Android) / Xcode (for iOS, macOS only)
# Clone and setup
git clone [repository]
cd BuildFit
# Backend setup
cd backend
npm install
cp .env.example .env # Configure database
npm run migrate
npm run dev
# Mobile setup (new terminal)
cd mobile
npm install
npm start # Metro bundler
npm run android # or npm run iosMobile: React Native, Redux Toolkit, React Navigation
Backend: Node.js, Express, PostgreSQL, JWT Authentication
Shared: TypeScript, ESLint, Prettier
- Workout Builder - 80+ exercises, custom routines, advanced filtering
- Real-time Execution - Live workout guidance with timers and progression
- Community Platform - Browse, publish, and discover workouts
- Template System - Save and reuse favorite workout templates
- Progress Tracking - Analytics and performance insights (coming soon)
- Development Guide - Complete technical documentation
- Project Roadmap - Progress tracking and planning
- Backend README - API endpoints and backend details
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Exercise Library: Comprehensive database with instructions and videos
- Progress Tracking: Log workouts and monitor progress over time
- Community Sharing: Access and share workout plans with the community
- Analytics: Visual progress charts and performance insights
- Social Features: Follow friends, share achievements, motivation
- AI Workout Recommendations: Personalized suggestions based on goals
- Nutrition Tracking: Meal planning and calorie tracking
- Wearable Integration: Sync with fitness trackers and smartwatches
- Virtual Personal Trainer: Guided workout sessions
- Challenges: Community challenges and competitions
This project follows a monorepo structure with clear separation of concerns:
mobile/: Contains the React Native mobile applicationbackend/: Contains the Node.js API servershared/: Contains code shared between mobile and backenddocs/: Contains all project documentation and planning
- Pick a task from the Task Reference
- Create a feature branch:
feature/TASK-ID-description - Follow guidelines in the Development Guide
- Test your changes with provided test suites
- Submit a pull request with clear description
- ESLint + Prettier for consistent code formatting
- TypeScript for type safety
- Jest for comprehensive testing
- Husky for pre-commit hooks (planned)
- Conventional Commits for clear commit messages
# Mobile app tests
cd mobile
npm test
# Backend tests
cd backend
npm test
# Run all tests
npm run test:all # (from root)- Android: Generate AAB for Google Play Store
- iOS: Archive and submit to App Store Connect
- Staging: Automated deployment on merge to
develop - Production: Manual deployment from
mainbranch - Infrastructure: Docker containers on cloud platform
- Development Guide - Complete setup, development instructions, and detailed feature specifications
- Project Roadmap - Timeline, progress, and next steps
- Task Reference - Detailed task breakdowns and sprint planning reference
- Mobile App - React Native app documentation
- Backend API - Server setup and API documentation
- Current Phase: Community Features & Analytics (Next Development)
- Foundation: 100% complete β
- Authentication & Navigation: 100% complete β
- Workout Execution Engine: 100% complete β π
- Workout Builder System: 100% complete β π
- Community Workout Features: 100% complete β π
- Overall Progress: 95% complete
- Current Sprint: 7 (Community Features Complete)
- Team Size: 6-8 developers recommended
- β Complete monorepo structure and development environment
- β Mobile app foundation with React Native 0.72 and dependencies
- β Backend API foundation with Express.js and security middleware
- β Comprehensive database schema (users, exercises, workout_plans)
- β Shared TypeScript types (320+ lines) and utilities
- β Development tooling and automated setup scripts
- β JWT authentication system with middleware and endpoints
- β Complete React Navigation setup with authentication flow
- β Redux store configuration with persistence and all slices
- β All main mobile screens and navigation structure
- β Workout Execution Engine - Live workout sessions with step-by-step guidance π
- β WorkoutSessionScreen - Real-time exercise timers and progression controls
- β Session Management - Pause/resume/complete with state persistence
- β Post-Workout Feedback - Difficulty rating and completion tracking
- β Comprehensive Workout Builder - Create custom workouts with 80+ exercises π
- β Exercise Database Integration - Advanced search, filtering, and custom exercise creation
- β Workout Template System - Save, manage, and reuse workout templates
- β Community Workout Features - Browse, publish, and discover community workouts π
- β Workout builder interface (WorkoutBuilderScreen, exercise picker, configuration) - COMPLETED
- β Custom workout creation (reps/sets/time/rest configuration) - COMPLETED
- β Exercise database integration and selection system - COMPLETED
- β Workout template saving and management - COMPLETED
- β Workout preview and testing functionality - COMPLETED
- β Community workout browsing and discovery - COMPLETED
- β Workout publishing and sharing system - COMPLETED
- β Backend API for community features - COMPLETED
- οΏ½ Exercise database seeding with comprehensive data
- π Exercise management API endpoints
- π Exercise browser and search UI screens
- π Custom exercise creation functionality
- οΏ½ Media upload system for exercise demonstrations
- Read the Development Guide for development guidelines
- Check existing tasks in Task Reference
- Follow the established code style and patterns
- Write tests for new features
- Update documentation as needed
MIT License - see LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@buildfit.app (planned)
- Documentation: Wiki (planned)
BuildFit - Your fitness journey starts here! πͺ