DISCLAIMER! If the app does not connect to the supabase backend, it means the free instance of that database has been frozen and I need to unfreeze it manually. Please contact me via email so that I can do so when needed. Thanks!
The Fitness Logger app is a simple and user-friendly application designed to help users track their fitness journey. It offers features such as user authentication, registration, personal information management, measurement tracking, workout management, exercise lookup, and admin privileges for exercise library management. The app is built using React and utilizes several essential libraries such as Ant Design, Redux Toolkit, React Router, Supabase, and more.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd mine-fitness-companion
-
Install dependencies using npm:
npm install
-
Start the development server:
npm run dev
-
Open your web browser and navigate to
http://localhost:3000
to access the app.
- Users can register and log in to their accounts.
- Secure authentication is implemented using Supabase for a seamless and safe experience.
- Users can edit and update their personal information.
- This feature provides users with the flexibility to keep their profiles accurate.
- Users can add new measurements, including pictures.
- The app allows users to track their measurements over a specific period, visualizing progress.
- Users can perform CRUD operations on their workouts.
- Workouts can be filtered based on included exercises or date, facilitating easy tracking.
- Users can search the Exercise Library to find exercises and learn about their muscle groups.
- This feature helps users discover new exercises and their benefits.
- Admin users have extended privileges.
- Admins can perform the same actions as regular users and additionally manage exercises in the Exercise Library.
The Fitness Logger app utilizes several key libraries to provide a rich and responsive user experience:
-
Ant Design: A popular UI library that offers a variety of pre-designed components for building a consistent and modern user interface.
-
Redux Toolkit: A state management library that simplifies the process of managing and updating application state.
-
React Router: A routing library that enables navigation and URL management within the app.
-
Supabase: A platform that provides backend services, including authentication and database management.
-
React Hook Form: A library for managing form states and validations in React applications.
-
Chart.js: A flexible charting library that enables the creation of interactive and customizable charts.
-
React Select: A library for creating elegant dropdowns and select inputs.
-
Dayjs: A lightweight and modern library for handling dates and times.
-
Zod: A TypeScript-first schema validation library for validating data.
-
Tailwind CSS: A utility-first CSS framework for building responsive and efficient designs.
These dependencies, along with others listed in the package.json
file, contribute to the app's functionality and aesthetics. Please refer to the package documentation for detailed information about each library.