{"id":29224752,"url":"https://github.com/fel1324/rocketlog","last_synced_at":"2026-04-09T23:01:55.005Z","repository":{"id":302461197,"uuid":"1012173801","full_name":"Fel1324/Rocketlog","owner":"Fel1324","description":"Projeto desenvolvido durante a formação Full-Stack: Node.js com Containers: API de entregas de encomendas, da Rocketseat.","archived":false,"fork":false,"pushed_at":"2025-07-02T14:14:11.000Z","size":83,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T14:36:18.374Z","etag":null,"topics":["docker","express","jest","jwt","nodejs","postresql","prisma-orm","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fel1324.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T23:56:38.000Z","updated_at":"2025-07-02T14:14:15.000Z","dependencies_parsed_at":"2025-07-02T14:38:08.510Z","dependency_job_id":"b85d1eff-5734-44f7-bacf-fab47a2dadce","html_url":"https://github.com/Fel1324/Rocketlog","commit_stats":null,"previous_names":["fel1324/rocketlog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Fel1324/Rocketlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fel1324%2FRocketlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fel1324%2FRocketlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fel1324%2FRocketlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fel1324%2FRocketlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fel1324","download_url":"https://codeload.github.com/Fel1324/Rocketlog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fel1324%2FRocketlog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263271499,"owners_count":23440396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","express","jest","jwt","nodejs","postresql","prisma-orm","typescript","zod"],"created_at":"2025-07-03T06:07:52.455Z","updated_at":"2026-04-09T23:01:49.986Z","avatar_url":"https://github.com/Fel1324.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Rocketlog\n\nAPI para gerenciamento de entregas de encomendas, desenvolvida com Node.js, Express, TypeScript, Prisma e PostgreSQL.\n\n## ✨ Funcionalidades\n\n- Cadastro e autenticação de usuários (com roles: `customer` e `sale`)\n- Criação e listagem de entregas\n- Atualização de status das entregas (`processing`, `shipped`, `delivered`, `canceled`)\n- Logs detalhados de cada entrega\n- Controle de acesso por autenticação JWT e autorização por perfil\n- Validação de dados com Zod\n\n## 🛠️ Tecnologias Utilizadas\n\n- [Node.js](https://nodejs.org/)\n- [Express](https://expressjs.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Prisma ORM](https://www.prisma.io/)\n- [PostgreSQL](https://www.postgresql.org/)\n- [JWT](https://jwt.io/)\n- [Zod](https://zod.dev/)\n- [Jest](https://jestjs.io/) + [Supertest](https://github.com/ladjs/supertest) (testes automatizados)\n- [Docker](https://www.docker.com/) (para banco de dados)\n\n## 🚀 Como rodar o projeto\n\n### 1. Clone o repositório\n\n```bash\ngit clone https://github.com/Fel1324/Rocketlog.git\ncd Rocketlog\n```\n\n### 2. Instale as dependências\n\n```bash\nnpm install\n```\n\n### 3. Configure o ambiente\n\nCrie um arquivo `.env` na raiz do projeto com base no `.env-example`:\n\n```\nDATABASE_URL=\"postgresql://postgres:postgres@localhost:5432/rocketlog?schema=public\"\nJWT_SECRET=sua_chave_secreta\n```\n\n### 4. Suba o banco de dados com Docker\n\n```bash\ndocker-compose up -d ou docker compose up -d\n```\n\n### 5. Execute as migrations do Prisma\n\n```bash\nnpx prisma migrate deploy\n```\n\n### 6. Rode o servidor em modo desenvolvimento\n\n```bash\nnpm run dev\n```\n\nO servidor estará disponível em [http://localhost:3333](http://localhost:3333).\n\n## 🧪 Rodando os testes\n\n```bash\nnpm run test:dev\n```\n\n## 📚 Estrutura de Pastas\n\n```\nsrc/\n  controllers/\n  middlewares/\n  routes/\n  database/\n  utils/\n  types/\n  tests/\nprisma/\n  schema.prisma\n  migrations/\n```\n\n## 📝 Exemplos de Rotas\n\n### Autenticação\n\n- `POST /sessions` — Login do usuário\n\n### Usuários\n\n- `POST /users` — Cadastro de usuário\n\n### Entregas\n\n- `GET /deliveries` — Listar entregas (apenas `sale`)\n- `POST /deliveries` — Criar entrega (apenas `sale`)\n- `PATCH /deliveries/:id/status` — Atualizar status (apenas `sale`)\n\n### Logs de Entrega\n\n- `GET /delivery-logs/:delivery_id/show` — Visualizar logs (autorização por role)\n- `POST /delivery-logs` — Criar log (apenas `sale`)\n\n## 🔒 Autenticação \u0026 Autorização\n\n- Utilize o token JWT retornado no login no header `Authorization: Bearer \u003ctoken\u003e` para acessar rotas protegidas.\n- Controle de acesso por role implementado nos middlewares.\n\n## 📄 Licença\n\nEste projeto está sob licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n---\n\n\u003e Feito com ♥ by Rocketseat :wave: [Participe da nossa comunidade!](https://discord.gg/rocketseat)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffel1324%2Frocketlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffel1324%2Frocketlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffel1324%2Frocketlog/lists"}