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.tsCrie um arquivo .env com:
JWT_SECRET=sua_chave_secretaPOST /auth/login- Gera token JWT (usuário fictício retornado direto no código)
POST /planetsGET /planetsGET /planets/:idPUT /planets/:idDELETE /planets/:id
POST /star-systemsGET /star-systemsGET /star-systems/:idPUT /star-systems/:idDELETE /star-systems/:id
POST /charactersGET /charactersGET /characters/:idPUT /characters/:idDELETE /characters/:id
POST /spaceshipsGET /spaceshipsGET /spaceships/:idPUT /spaceships/:idDELETE /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 TokenJWT 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