Maintaining an active and healthy lifestyle can be challenging, especially when motivation, structured guidance, and social support are lacking. FiTrack is an all-in-one fitness web application designed to empower users in achieving their health and wellness goals. It offers a comprehensive set of tools for:
- 🏃 Workout tracking
- 🥗 Personalized diet planning
- 🏢 Sports facility promotions
- 🤝 Fitness community engagement
Targeted at fitness enthusiasts, beginners seeking guidance, and individuals aiming to improve their overall well-being, FiTrack addresses the common struggles of staying committed to a fitness routine. The platform integrates social features, such as finding a sports buddy or a personal trainer nearby, fostering a community-driven environment that enhances accountability and motivation.
Beyond fitness, FiTrack aligns with key Sustainable Development Goals (SDGs):
- 🌍 SDG 3 (Good Health and Well-being): Promoting an active lifestyle and preventive healthcare.
- 🤝 SDG 17 (Partnerships for the Goals): Encouraging collaboration between sports facilities, trainers, and users to create a more connected and health-conscious society.
Users can enjoy gamified features 🎮 such as XP points, leaderboards, and rewards 🏆, ensuring a fun and engaging fitness journey while making meaningful progress toward their health goals.
- 🎨 Frontend: Angular 15, TypeScript, Bootstrap
- 🏗️ Backend: Spring Boot, Java, MySQL
- 🚢 Tools & Deployment: Docker, REST API, JWT Authentication
This project was generated with Angular CLI version 15.1.3.
Run the following command to start the development server:
cd frontend
npm install
ng serve
Navigate to http://localhost:4200/
. The application will automatically reload if you modify any source files.
Generate a new component using:
ng generate component component-name
You can also generate other elements like directives, pipes, services, classes, guards, interfaces, enums, or modules:
ng generate directive|pipe|service|class|guard|interface|enum|module
Run:
ng build
The build artifacts will be stored in the dist/
directory.
ng test
Executes unit tests via Karma.
ng e2e
Executes end-to-end tests via a platform of your choice. Install a package that implements end-to-end testing capabilities before using this command.
For more Angular CLI commands, run:
ng help
Or check out the Angular CLI Documentation.
The backend is built with Spring Boot, providing RESTful APIs for user authentication, workout tracking, and fitness data management.
git clone https://github.com/your-repo/FiTrack-PI-ARCTIC.git
cd backend
Update application.properties
or application.yml
with your MySQL credentials:
server.port = 8095
### DATABASE ###
spring.datasource.url=jdbc:mysql://localhost:3306/fitrack?createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=
Using Maven:
mvn spring-boot:run
Or using Java directly:
java -jar target/fitrack-1.0.0.jar
Run unit and integration tests with:
mvn test
Package the application as a JAR file:
mvn clean package
This will generate target/fitrack-1.0.0.jar
, which you can run with:
java -jar target/fitrack-1.0.0.jar
For more Java CLI commands, run:
java --help
Or check out the Java CLI Documentation.
If using Docker, you can build and run the application using:
docker-compose up --build
Contributions are welcome! Feel free to submit a pull request or open an issue if you encounter any problems.
This project is licensed under the GPL-3.0 license.