https://github.com/deividsousan/galacticore
GalactiCore é uma API backend projetada para os entusiastas do universo sci-fi e desenvolvedores que buscam explorar a criação de galáxias inspiradas em Star Wars.
https://github.com/deividsousan/galacticore
api-rest docker-compose express-js jest mysql typeorm typescript
Last synced: 3 months ago
JSON representation
GalactiCore é uma API backend projetada para os entusiastas do universo sci-fi e desenvolvedores que buscam explorar a criação de galáxias inspiradas em Star Wars.
- Host: GitHub
- URL: https://github.com/deividsousan/galacticore
- Owner: DeividSouSan
- Created: 2024-12-31T20:30:34.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-23T12:21:58.000Z (over 1 year ago)
- Last Synced: 2025-02-23T12:27:18.253Z (over 1 year ago)
- Topics: api-rest, docker-compose, express-js, jest, mysql, typeorm, typescript
- Language: TypeScript
- Homepage: https://galacticore.onrender.com/
- Size: 229 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README


GalactiCore é uma API backend projetada para os entusiastas do universo sci-fi e desenvolvedores que buscam explorar a criação de galáxias inspiradas em Star Wars. Este projeto permite a criação, gerenciamento e visualização de planetas, sistemas estelares, personagens icônicos e naves espaciais, sendo um projeto que objetiva ser divertido e demonstrar minhas habilidades no desenvolvimento de APIs.
Objetivo
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.
Rotas da 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.
Ferramentas e Tecnologias
> **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_.

Arquitetura do Projeto
```plaintext
src/
├── infra/
│ ├── entities/
│ │ └── ...
│ ├── migrations/
│ │ └── ...
│ ├── database.ts
│ └── error.ts
└── routes/
└── ...
test/
└── integration/
├── Spaceships.test.ts
└── StellarSystems.test.ts
...
```
Como rodar
...