https://github.com/joaopedroangelo/musicalizou
API REST que oferece recursos para explorar e avaliar músicas, além de fornecer Tokens para autenticar usuários
https://github.com/joaopedroangelo/musicalizou
auth0-jwt jwt-authentication spring-project
Last synced: 3 months ago
JSON representation
API REST que oferece recursos para explorar e avaliar músicas, além de fornecer Tokens para autenticar usuários
- Host: GitHub
- URL: https://github.com/joaopedroangelo/musicalizou
- Owner: joaopedroangelo
- License: mit
- Created: 2024-02-27T04:52:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-08T17:09:37.000Z (about 1 year ago)
- Last Synced: 2025-01-03T16:52:02.112Z (5 months ago)
- Topics: auth0-jwt, jwt-authentication, spring-project
- Language: Java
- Homepage:
- Size: 363 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Musicalizou
> Musicalizou é uma API REST que tem como principal objetivo promover a prática no desenvolvimento de aplicações com Java e Spring.
---
## Funcionalidades Principais- **Explorar músicas**;
- **Reviews das músicas**;
- **Gerenciar artistas**;
- **Login e controle de acesso**;
- **Histórico da base de dados (migrations)**.---
## Tecnologias Utilizadas- **Spring Boot**;
- **Spring Security**;
- **Spring Data JPA**;
- **Spring Tests**;
- **Lombok**;
- **Validações**;
- **JWT (JSON Web Tokens)**;
- **Hashing de senha com BCrypt**;
- **Migrations com Flyway**;
- **Swagger para documentação**;
- **Database exclusiva para testes - H2**;
- **Database exclusiva para produção - Mysql**;---
## Diretórios importantes- [Perfil de produção - application.properties](src/main/resources/application.properties)
- [Perfil de testes - application-test.properties](src/test/resources/application-test.properties)
- [Controllers](src/main/java/com/music/review/app/controllers)
- [Services](src/main/java/com/music/review/app/services)
- [Domain](src/main/java/com/music/review/app/domain)
- [Infra](src/main/java/com/music/review/app/infra)
- [Testes](src/test/java/com/music/review/app/controllers)
- [Migrations de produção - Mysql](src/main/resources/db/migration/mysql)---
## Como Executar1. **Configuração do Ambiente:**
- Certifique-se de ter o Java JDK, o MySQL e o Maven instalados em sua máquina.
- Caso não possua algum desses requisitos instalados, basta digitar `java --version`, `mvn --version` ou `mysql --version` e verificar o comando de instalação no Linux.
- Configuração do MySQL: [MySQL](https://github.com/joao-pedro-angelo/ClassicBank/blob/master/teoria/ConfigurarMysqlServer.md)
- Clone o repositório do Musicalizou para o seu ambiente local.2. **Configuração do Banco de Dados:**
- Configure as credenciais do banco de dados no arquivo `application.properties`.3. **Execução da API:**
- Abra o projeto em sua IDE preferida.
- Execute o aplicativo Spring Boot.4. **Acesso à API:**
- URL de acesso: http://localhost:8080/swagger-ui/index.html
5. **Realizar Login:**
- email: [email protected]
- password: 123456
7. **Copiar Token para autorização:**
- O Token é o que foi retornado
no Login.
9. **Requisições liberadas:**
- Depois de inserir o token no campo de autorização,
todas as requisições estarão liberadas.---
## Melhorias para o futuro- **Desenvolvimento do Front-end**: Embora a API REST do Musicalizou forneça acesso aos dados, uma interface de usuário (UI) pode ser desenvolvida e integrada para facilitar a interação com os recursos da API.
---
## ContribuiçãoSe você deseja contribuir com o desenvolvimento do Musicalizou, siga estas etapas:
1. Faça um fork do repositório e clone o fork para o seu ambiente local.
2. Crie uma branch para sua nova funcionalidade ou correção de bug: `git checkout -b nome-da-sua-branch`.
3. Faça suas alterações e adicione testes, se aplicável.
4. Commit suas alterações: `git commit -m 'Descrição das alterações'`.
5. Push para a branch: `git push origin nome-da-sua-branch`.
6. Abra um pull request no repositório original.Sinta-se à vontade para contribuir com esta aplicação!
---
## LicençaO Musicalizou é licenciado sob a [MIT License](LICENSE).