ID Number | Student Name | Work |
---|---|---|
202403077 | Nuno Fernandes | 50% |
202403111 | Simão Antunes | 25% |
202108708 | Ricardo Sousa | 15% |
202302522 | Salif Faustino | 10% |
FitEverywhere is a fitness management platform designed to connect customers, personal trainers, and gym managers through a seamless digital experience. This README provides an overview of the deployed environments, steps to start the application, and a summary of the tech stack used. All project documentation, planning, and progress are available on our Wiki Page.
- Deployed Servers
- Tech Stack
- Getting Started
- Continuous Integration & Deployment
- Support and Feedback
- License
FitEverywhere aims to revolutionize the fitness industry by offering a digital platform that simplifies the interaction between key stakeholders: customers, trainers, and gym managers. The platform includes features such as user authentication, gym management, trainer scheduling, and customer engagement tools, all within a user-friendly interface.
The project leverages modern web development practices, advanced DevOps methodologies, and a scalable architecture to ensure both performance and maintainability. For detailed project planning, architectural diagrams, and progress tracking, please refer to the Wiki Page.
FitEverywhere has two fully dockerized environments:
-
Production Environment
- URL: https://fiteverywhere.azurewebsites.net
- Port: 80 (reverse-proxied via Nginx)
- Description: The main production environment where stable and thoroughly tested features are available for end-users.
-
Development Environment
- URL: https://fiteverywhere-dev.azurewebsites.net
- Port: 80 (reverse-proxied via Nginx)
- Description: A development environment for testing new features and ongoing development updates before they are released to production.
FitEverywhere uses a modern, robust stack designed to deliver efficient and scalable applications:
-
Frontend:
- React (TypeScript) - A fast and interactive UI framework.
- Vite - Development server and build tool for optimized front-end performance.
- Google OAuth2 - Authentication for secure login and user management.
- Docker - Containerization to ensure consistent environments across development, testing, and production.
-
Backend:
- Spring Boot (Java) - Backend framework for scalable and RESTful API development.
- MySQL - Database for handling structured application data.
- Docker - Containerization to ensure consistent environments across development, testing, and production.
-
DevOps:
- Docker Compose - Manages multi-container applications for isolated services.
- Nginx - Reverse proxy for load balancing and serving the app.
- CI/CD - GitHub Actions for continuous integration and delivery, ensuring code quality and automated deployments.
- Azure - Cloud platform for hosting both the application and database.
- Docker and Docker Compose installed on your local machine.
To start the app in a development environment, follow these steps:
- Clone the Repository:
git clone https://github.com/MESW-LES-2425/FitEverywhere-T2E.git cd FitEverywhere-T2E
- Start the Application:
docker compose up --build
FitEverywhere utilizes a CI/CD pipeline to ensure high code quality and smooth deployments. Key features include:
- Automated Testing: Unit tests, integration tests, and end-to-end tests are run on every pull request.
- Static Analysis: Linting and code formatting checks are enforced to maintain a consistent code style.
- Automated Deployments: Merged changes trigger automated builds and deployments to both the development and production environments.
Thank you for using FitEverywhere! We value feedback and encourage you to report any issues or request new features through our GitHub Issues page. For any inquiries, feel free to reach out to the project maintainers.
This project is licensed under the MIT License, ensuring it remains open-source and accessible for modification and distribution.