https://github.com/noctua05/cadastro-ninjas
Crinado um cadastro Ninja com Spring boot
https://github.com/noctua05/cadastro-ninjas
api backend java spring-boot
Last synced: about 2 months ago
JSON representation
Crinado um cadastro Ninja com Spring boot
- Host: GitHub
- URL: https://github.com/noctua05/cadastro-ninjas
- Owner: noctua05
- Created: 2025-02-03T00:46:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-11T19:11:49.000Z (over 1 year ago)
- Last Synced: 2025-02-11T19:37:06.400Z (over 1 year ago)
- Topics: api, backend, java, spring-boot
- Language: Java
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CadastroDeNinjas 🥷
Projeto de estudo em **Java Spring Boot** com CRUD completo de Ninjas e Missões.
O projeto utiliza **H2 Database** para desenvolvimento, **Swagger** para documentação da API e pode ser executado via **Docker**.
---
## 🚀 Tecnologias utilizadas
- **Java 21**
- **Spring Boot 3.4**
- Spring Web
- Spring Data JPA
- **H2 Database** (em memória/arquivo)
- **Flyway** para versionamento do banco
- **Lombok** para reduzir boilerplate
- **Swagger / SpringDoc** para documentação da API
- **Docker** para containerização
- **Maven** como build tool
- Conceitos aplicados: DTO, Service, Model, Repository, SOLID, Design Patterns, CRUD, Microsserviços básicos
---
## 💻 Funcionalidades
- CRUD de **Ninjas**
- CRUD de **Missões**
- Relacionamento opcional: um Ninja pode ter uma Missão
- Banco H2 em arquivo local
- Swagger UI para testar endpoints
- Dockerfile para rodar o projeto como container
---
## 🛠️ Pré-requisitos
- Java 21 instalado
- Maven
- Docker (opcional, se for rodar em container)
---
## ⚡ Rodando o projeto
### Localmente com Maven
```bash
# Build do projeto
mvn clean package
# Rodar o Spring Boot
mvn spring-boot:run
````
### Rodando via docker
```bash
# Build da imagem
docker build -t cadastro-de-ninjas .
# Rodar o container
docker run -p 8080:8080 cadastro-de-ninjas
```
---
## 🔗 Acessando o projeto
- **Swagger UI (API)**: [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)
- **H2 Console (Banco de Dados)**: [http://localhost:8080/h2-console](http://localhost:8080/h2-console)
**Credenciais H2 (como no `application.properties`)**:
- JDBC URL: `jdbc:h2:file:./data/NinjasBD`
- Usuário: `Ninja_bd`
- Senha: `admin`
> ⚠️ No Docker, certifique-se de que a porta 8080 esteja exposta.
---