Este projeto usa Java, Spring, banco de dados MySql e Spring Security com JWT!
Esta api fornece um controle de academia, com o módulo de clientes, planos, permissões, terá a funcionalidade de caso o cliente não tenha feito o pagamento após o vencimento fique sem autorização para uso da academia, será integrado com uma catraca eletrônica com a funcionalidade de liberar acesso.
- Clone o repositório:
git clone https://github.com/joaopedropc7/academia.git
-
Instale as dependências com o Maven
-
Instale MySQL
- Inicie a aplicação com o Maven
- A API ficará acessível em http://localhost:8080
Siga esses endpoints para acessar a API:
GET /planos - Lista todos os planos.
GET /planos/{id} - Busca um plano por id
PUT /planos/{id} - Atualiza um plano pelo ID (ADMIN)
Delete /planos/{id} - Inativa um plano pelo ID (ADMIN)
POST /planos - Cadastra um plano (ADMIN)
The API uses Spring Security for authentication control. The following roles are available:
USER -> Standard user role for logged-in users.
ADMIN -> Admin role for managing partners (registering new partners).
To access protected endpoints as an ADMIN user, provide the appropriate authentication credentials in the request header.
Este projeto utiliza MySQL database. Junto foi utilizado flyway migrations.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request to the repository.
When contributing to this project, please follow the existing code style, commit conventions, and submit your changes in a separate branch.