A fitness partner matching application for college students to find compatible workout partners.
frontend/- React + TypeScript + Vite frontend applicationbackend/- Flask REST API backend
- Node.js and npm
- Python 3.8+
Navigate to the 'backend' folder
cd backend
pip install -r requirements.txt
python main.pyThe backend will run on http://localhost:xxxx
Open a new terminal and navigate to the 'hackviolet_frontend' folder
cd ..
cd ..
cd frontend/hackviolet_frontend
npm install
npm run devThe frontend will run on http://localhost:xxxx
Click on the front end link printed in the terminal
NOTE: some packages may not be installed on your local system (such as npm). Make sure to pip install those packages if missing.
- Static content, no backend required
- Login with username and password
- Navigate to account creation
- Create account with:
- Username and password
- First name, last name
- University email
- Gender and age
- Automatically navigates to gym info after registration
- Set workout focus (Weight Loss, Muscle Gains, Cardio, Other)
- Set experience level (Beginner, Moderate, Advance, Expert)
- Saves preferences to backend
- Create new gym session posts with:
- Workout type
- Date and time
- Location
- Party size
- Experience level
- Gender preference (optional)
- Notes (optional)
- View and filter existing posts
- Real-time updates when new posts are created
See backend/README.md for detailed API documentation.
- Built with Flask
- Uses in-memory storage (replace with database for production)
- CORS enabled for development
- React 19 with TypeScript
- Vite for fast development
- API integration via
src/util/api.ts
- Backend uses in-memory storage - data will be lost on server restart
- For production, implement proper database (PostgreSQL, MongoDB, etc.)
- Password hashing should be upgraded to bcrypt for production
- Add proper error handling and validation