
O GalactiCore
foi desenvolvido como um projeto para colocar em prática minhas habilidades de desenvolvimento backend, abordando a maior parte das etapas e tecnologias envolvidas no desenvolvimento de uma API.
-
Planets
- POST 📤 /planets: Criar um novo planeta.
- GET 📥 /planets: Listar todos os planetas.
- GET 📥 /planets/:id: Obter detalhes de um planeta específico.
- PUT 🔄 /planets/:id: Atualizar informações de um planeta.
- DELETE 🗑 /planets/:id: Deletar um planeta.
-
Stellar Systems
- POST 📤 /star-systems: Criar um novo sistema estelar.
- GET 📥 /star-systems: Listar todos os sistemas estelares.
- GET 📥 /star-systems/:id: Obter detalhes de um sistema estelar específico.
- PUT 🔄 /star-systems/:id: Atualizar informações de um sistema estelar
- DELETE 🗑 /star-systems/:id: Deletar um sistema estelar.
-
Characters
- POST 📤 /characters: Criar um novo personagem.
- GET 📥 /characters: Listar todos os personagens.
- GET 📥 /characters/:id: Obter detalhes de um personagem específico.
- PUT 🔄 /characters/:id: Atualizar informações de um personagem.
- DELETE 🗑 /characters/:id: Deletar um personagem.
-
Spaceships
- POST 📤 /spaceships: Criar uma nova nave espacial.
- GET 📥 /spaceships: Listar todas as naves espaciais.
- GET 📥 /spaceships/:id: Obter detalhes de uma nave espacial específica.
- PUT 🔄 /spaceships/:id: Atualizar informações de uma nave espacial.
- DELETE 🗑 /spaceships/:id: Deletar uma nave espacial.
TypeScript: Linguagem utilizada para realização do projeto.
ExpressJS: Framework minimalista e prático para criar APIs RESTful.
TypeORM: Para manipular o banco de dados através do código.
Jest: Para testes de integração e garantir que alterações não quebrem os endpoints.
Docker Compose: Para subir o serviço do banco de dados MySQL.
src/
├── infra/
│ ├── entities/
│ │ └── ...
│ ├── migrations/
│ │ └── ...
│ ├── database.ts
│ └── error.ts
└── routes/
└── ...
test/
└── integration/
├── Spaceships.test.ts
└── StellarSystems.test.ts
...