FitFlow is a web application designed to help users track and manage their workouts. The project is built with a Node.js server and a React frontend, providing a seamless experience for managing workout routines.
- Add, update, and delete workouts
- View a list of all workouts
- Responsive design for mobile and desktop
- Node.js (v14 or later)
- npm (v6 or later)
- Navigate to the server directory:
cd fitflow/server
- Install server dependencies:
npm install
- Create a
.env
file in theserver
directory and add your environment variables:PORT=4000 MONGO_URI=your_mongodb_connection_string
- Start the server:
npm start
- Navigate to the client directory:
cd fitflow/client
- Install client dependencies:
npm install
- Start the client:
npm run dev
- Open your browser and navigate to
http://localhost:5173
. - Use the application to add, update, and view your workouts.
server.js
: Entry point for the server.env
: Environment variablespackage.json
: Server dependenciesmodels/
: Mongoose modelsworkoutModel.js
: Workout data model
controllers/
: Controllers for handling requestsworkoutController.js
: Logic for workout operations
routes/
: API routesworkouts.js
: Routes for workout endpoints
index.html
: Main HTML file.eslintrc.cjs
: ESLint configurationvite.config.js
: Vite configurationpackage.json
: Client dependenciespublic/
: Public assetsfavicon.ico
: Favicon
src/
: Source codemain.jsx
: React entry pointApp.jsx
: Main app componentcontext/
: React context for state managementWorkoutsContext.jsx
: Workout context
components/
: React componentsWorkoutDetails.jsx
: Component to display workout detailsWorkoutForm.jsx
: Form to add or edit workoutsNavbar.jsx
: Navigation bar
hooks/
: Custom hooksuseWorkoutsContext.jsx
: Hook to use workout context
pages/
: Page componentsUpdateWorkout.jsx
: Page to update workoutsHome.jsx
: Home page
Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.
This project is licensed under the ISC License.