GYM_API is a GymPass-style app developed as a project for learning purposes, with a focus on implementing solid software development principles. The app includes various features and serves as a demonstration of these principles in practice.
For detailed information on the project requirements, please refer to the requirements document located in the docs
folder.
To set up the project, follow the steps below:
-
Configure the environment variables by creating a
.env
file based on the provided.env.example
file. -
Start the Docker containers by running the following command:
docker compose up -d
-
Apply the database migrations using Prisma by executing the following command:
npx prisma migrate dev
-
Run the project using the command:
npm run start:dev
To run the tests, use the following commands:
-
Run unit tests:
npm run test
-
Run end-to-end tests:
npm run test:e2e
Continuous Integration and Continuous Deployment (CI/CD) are essential for automating the software development lifecycle. This project incorporates CI/CD practices to ensure the reliability and quality of the codebase.
- For each commit, a GitHub Action is triggered to run the unit tests. This ensures that the code changes do not introduce any regressions or errors at the unit level.
- When a pull request is opened, a GitHub Action is triggered to run the end-to-end tests. These tests verify the system's behavior as a whole and ensure the correctness of the integrated components.
Rocketseat website.
This project is licensed under the MIT License. See the LICENSE file for more details.