Go2Fit is a fitness-focused mobile application designed to help users track their fitness activities, manage their profiles, and access detailed reports. The app is built using React Native and leverages mobx-react-lite for state management and expo-router for navigation.
- Implemented a tab navigation system for seamless navigation between screens.
- Integrated
mobx-react-litefor reactive state management across the app. - Finished the basic UI and functions for
Home,Training,Exercises,ReportandProfiletabs. - Save training sessions data to Firebase for persistence.
- Completed the integration between the
TrainingandExercisestabs. - Set up the user authentication using Firebase Authentication.
- Fetching all the exercises from the API and showed the progress.
- Finished the
TrainingandExercisestabs.
- Implement the
Reporttab with the actual training data for each user. - Implement the delete function for training session at
Home. - Implement the search function at the
Hometab so that the user can filter or search different training sessions.
- _layout.jsx: The basic layout of our app to display different tabs.
- index.jsx: The component to display all the training sessions the user has created.
- training.jsx: The component to display the details of the selected training session.
- exercises.jsx: The component to display all the exercises we fetched from the API.
- report.jsx: The component to display the user's workout history.
- profile.jsx: The component for user's authentication and update user's information.
- homePresenter.jsx: The presenter for the
Hometab, which handles the business logics and passes the props down to the view. - trainingPresenter.jsx: The presenter for the
Trainingtab, which handles the business logics and passes the props down to the view. - exercisesPresenter.jsx: The presenter for the
Exercisestab, which handles the business logics and passes the props down to the view. - reportPresenter.jsx: The presenter for the
Reporttab, which handles the business logics and passes the props down to the view. - profilePresenter.jsx: The presenter for the
Profiletab, which handles the business logics and passes the props down to the view.
- homeView.jsx: The view for the
Hometab, which receives the prop from the presenter and displays the UI. - trainingView.jsx: The view for the
Trainingtab, which receives the prop from the presenter and displays the UI. - exercisesView.jsx: The view for the
Exercisestab, which receives the prop from the presenter and displays the UI. - reportView.jsx: The view for the
Reporttab, which receives the prop from the presenter and displays the UI. - profileView.jsx: The view for the
Profiletab, which receives the prop from the presenter and displays the UI.
- The MobX state model used across the app for managing reactive data.
- The helper functions to access the Firebase database
- The possible parameters while fetching the API
- The helper function to resolve the promises
- The basic flow of our app