Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theduardomaciel/java-api
A RESTful API made with Java and the Spring Boot framework.
https://github.com/theduardomaciel/java-api
java openapi3 spring spring-boot swagger
Last synced: 11 days ago
JSON representation
A RESTful API made with Java and the Spring Boot framework.
- Host: GitHub
- URL: https://github.com/theduardomaciel/java-api
- Owner: theduardomaciel
- Created: 2024-07-24T03:12:19.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-07-25T13:09:55.000Z (7 months ago)
- Last Synced: 2024-12-06T12:15:49.298Z (2 months ago)
- Topics: java, openapi3, spring, spring-boot, swagger
- Language: Java
- Homepage:
- Size: 762 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Beatstar Community API
## 📝 Descrição
API RESTFul com Java e Spring Boot destinada ao funcionamento das plataformas (Android, Web) do, ainda em desenvolvimento, projeto Beatstar Community.
O projeto visa a criação de um ambiente em que a comunidade do jogo mobile Beatstar possa se reunião, compartilhando e descobrindo novas músicas enquanto interagem com outros usuários.
> [!NOTE]
> O design do frontend do projeto está disponível no [Figma](https://www.figma.com/design/2mWKQhZ8wsXQQEzBUDbFk5/Beatstar-Community?node-id=0-1&t=TP0OLPH97x2pLUsr-1)## ✨ Tecnologias
- `[Base]` Java 22
- `[Framework]` Spring Boot 3.3.2
- `[Dependências]` Gradle## 🏗️ Arquitetura
- **Controller:**
Utilizado para definir os endpoints da API- **Service:**
Utilizado para definir a lógica de negócio da aplicação- **Repository:**
Utilizado para definir as operações de CRUD no banco de dados- **Model:**
Utilizado para definir as entidades do banco de dados- **DTO:**
Utilizado para não expor todos os campos das entidades do banco de dados diretamente> **DTO** (Data Transfer Object) é um padrão de projeto cujo objetivo é transferir dados entre subsistemas de um software.
## ☁️ Infraestrutura
- Banco de Dados: PostgreSQL
- Hospedagem: Railway
- ~~CI/CD: GitHub Actions~~> **Procfile**: arquivo que informa ao Railway como iniciar a aplicação.
> [!WARNING]
> Caso o Railway falhe durante o deploy por conta da versão atual do Gradle ser muito recente, acesse o arquivo `gradle-wrapper.properties` presente em `gradle/wrapper` e altere a versão do Gradle para uma mais antiga.
>
> Exemplo:
> ```properties
> distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
> ```## 🚧 Roadmap
Este projeto ainda está em desenvolvimento e as próximas etapas consistem em:
- [ ] Definir as entidades do banco de dados
- [ ] Implementar CRUD de usuários
- [ ] Implementar CRUD de charts
- [ ] Implementar CRUD de músicas
- [ ] Implementar CI/CD
- [ ] Documentar endpoints
- [ ] Implementar testes unitários
- [ ] Implementar testes de integração
- [ ] Implementar autenticação## 📝 Licença
Este projeto utiliza a MIT License. Veja o arquivo de [LICENÇA](LICENSE) para mais detalhes.