Full Stack
Full Stack
Full-stack developers can carry out server-side development work if they are
proficient in back-end programming languages like Node.js, Python, or Ruby.
Working:
Workout Logging and Tracking: Users can log diverse workout types,
encompassing cardio, strength training, and flexibility exercises, within the
application. They can record the duration, intensity, and specific exercises
undertaken. The application furnishes a comprehensive workout history,
enabling users to monitor their progress and development over time.
Goal Setting and Progress Monitoring: Users can set fitness goals, like
muscle gain, weight loss, or completing a specific distance or time for a run.
The application tracks users’ progress toward their goals and provides visual
representations, such as charts or graphs, to showcase achievements and
motivate further improvement.
Personalized Fitness Plans: The platform provides customized fitness plans
tailored to users’ objectives, fitness levels, and preferences. These plans
encompass workout routines, meal suggestions, and guidance on exercises
or activities to address specific areas of improvement.
Workout Reminders and Notifications: The application allows users to set
reminders for their workouts, ensuring they stay consistent and committed
to their fitness routine. Users can receive notifications for upcoming
workouts, goal milestones, or fitness-related tips and articles.
Community and Social Features: The platform incorporates social
functionalities, enabling users to connect with friends, participate in fitness
challenges, and share their achievements. These features foster a sense of
community, stimulate healthy competition, and establish a user-support
network.
Technology Used:
Frontend:
Backend:
Node.js
Express.js
MongoDB or MySQL
Mongoose (for MongoDB) or Sequelize (for MySQL)
APIs and Integrations:
App.js
import React from 'react';
return (
<Provider store={store}>
<SafeAreaView style={styles.container}>
<WorkoutList />
<AddWorkout />
</SafeAreaView>
</Provider>
);
};
container: {
flex: 1,
padding: 20,
},
});
export default App;
src/reducers/index.js
import { combineReducers } from 'redux';
workouts: workoutReducer,
});
src/reducers/workoutReducer.js
javascript
Copy code
switch (action.type) {
case 'ADD_WORKOUT':
default:
return state;
};
src/actions/index.js
src/components/WorkoutList.js
return (
<View style={styles.list}>
</Text>
))}
</View>
);
};
list: {
flex: 1,
marginTop: 20,
},
workout: {
padding: 10,
borderBottomWidth: 1,
borderBottomColor: '#ccc',
},
});
src/components/AddWorkout.js
setName('');
setDuration('');
};
return (
<View style={styles.form}>
<TextInput
style={styles.input}
placeholder="Workout Name"
value={name}
onChangeText={setName}
/>
<TextInput
style={styles.input}
placeholder="Duration (mins)"
value={duration}
onChangeText={setDuration}
/>
</View>
);
};
form: {
padding: 20,
backgroundColor: '#fff',
borderRadius: 10,
shadowColor: '#000',
shadowOpacity: 0.2,
shadowRadius: 5,
},
input: {
marginBottom: 10,
padding: 10,
borderWidth: 1,
borderColor: '#ccc',
borderRadius: 5,
},
});
app.use(cors());
app.use(express.json());
name: String,
duration: Number,
});
res.json(workouts);
});
await newWorkout.save();
res.json(newWorkout);
});
app.listen(PORT, () => {
});
3. MongoDB Setup
Make sure MongoDB is installed and running. Use the following command to start
MongoDB
Mongod
1. Frontend
cd frontend
npm install
npm start
2. Backend
cd backend
npm install
node server.js