FitLife is a web application developed to help users manage their workouts and track their physical progress. The platform offers functionalities such as creating workouts, tracking exercises, and managing user profiles.
- User Authentication: User registration, login, and logout.
- Profile Management: Updating personal information and preferences.
- Workout Creation: Allows users to create and customize their workouts.
- Exercise Tracking: Logging and monitoring of completed exercises.
- Administration: Administrative interface to manage users and content.
- Django: Web framework used to build the application.
- Django-Cotton: Library for creating reusable components in Django templates.
- PostgreSQL: Relational database used to store application data.
- HTMX: JavaScript library that allows adding advanced interactivity to HTML using only attributes.
- Alpine.js: JavaScript framework for adding interactivity to HTML.
- Bootstrap: CSS framework for styling components.
- LESS: CSS preprocessor to simplify writing styles.
- apps/: Contains the Django apps of the application.
- core/: Core functionalities and utilities.
- users/: User management and authentication.
- gym/: Functionalities related to workouts and exercises.
- config/: Django project configurations.
- templates/: HTML templates used in the application.
- static/: Static files like CSS, JavaScript, and images.
- tests/: Automated tests for the application.
-
Clone the repository:
git clone https://github.com/your-username/fitlife.git cd fitlife -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate -
Install the dependencies:
poetry install
-
Configure the environment variables: Create a
.envfile at the root of the project and add the necessary variables, such asSECRET_KEYandDEBUG. -
Run the database migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver