Esta é uma API RESTful desenvolvida para o desafio BackEnd Fusion, onde criamos e gerenciamos uma galáxia inspirada no universo de Star Wars. A aplicação permite CRUD completo de planetas, sistemas estelares, personagens e naves espaciais, com autenticação JWT e controle de permissão por afiliação (Jedi, Sith, Rebelde, Admin).
- Node.js com Express
- TypeScript
- Prisma ORM + SQLite
- JWT para autenticação
- Postman para testes
git clone https://github.com/wmeireles/galaxy-api.git
cd galaxy-api
npm install
npx prisma migrate dev --name init
npx ts-node-dev src/app.ts
Crie um arquivo .env
com:
JWT_SECRET=sua_chave_secreta
POST /auth/login
- Gera token JWT (usuário fictício retornado direto no código)
POST /planets
GET /planets
GET /planets/:id
PUT /planets/:id
DELETE /planets/:id
POST /star-systems
GET /star-systems
GET /star-systems/:id
PUT /star-systems/:id
DELETE /star-systems/:id
POST /characters
GET /characters
GET /characters/:id
PUT /characters/:id
DELETE /characters/:id
POST /spaceships
GET /spaceships
GET /spaceships/:id
PUT /spaceships/:id
DELETE /spaceships/:id
- Apenas usuários autenticados com afiliação adequada (Jedi, Rebelde, Admin) podem criar, atualizar e excluir.
- Todas as rotas são protegidas com
Bearer Token
JWT no header:
Authorization: Bearer seu_token
Coleção pronta para importar no Postman: Download Galaxy-API.postman_collection.json
- Deploy gratuito (Railway ou Render)
- Swagger para documentação interativa
- Logs e monitoramento com Winston
MIT License.
Desenvolvido com ❤️ por Willian Meireles para o BackEnd Fusion Challenge