Skip to content

alexlael/Rocketlog

Repository files navigation

Rocketlog

Este repositório contém uma pequena API de controle de entregas. O projeto foi criado com o objetivo de consolidar meus conhecimentos nas tecnologias utilizadas e faz parte da minha jornada para me tornar um desenvolvedor fullstack.

Tecnologias

  • Node.js e Express para criação da API.
  • TypeScript para tipagem estática.
  • Prisma como ORM com PostgreSQL.
  • JWT para autenticação.
  • Jest e Supertest para testes automatizados.

Estrutura de Pastas

Rocketlog/
├── docker-compose.yml
├── jest.config.js
├── package.json
├── tsconfig.json
├── prisma/
│   ├── schema.prisma
│   └── migrations/
└── src/
    ├── app.ts
    ├── env.ts
    ├── server.ts
    ├── configs/
    ├── controllers/
    ├── database/
    ├── middlewares/
    ├── routes/
    ├── tests/
    ├── types/
    └── utils/

Configuração

  1. Copie o arquivo .env-example para .env e preencha as variáveis DATABASE_URL, JWT_SECRET e PORT.

  2. Caso queira subir um banco de dados local, há um docker-compose.yml com uma instância PostgreSQL pronta para uso.

  3. Instale as dependências:

    npm install
  4. Gere o cliente Prisma e aplique as migrações:

    npx prisma generate
    npx prisma migrate deploy

Executando

  • Ambiente de desenvolvimento:

    npm run dev
  • Construção para produção:

    npm run build
    npm start

Testes

Para rodar os testes automatizados:

npm run test:dev

Sinta-se à vontade para explorar o código e utilizar este projeto como referência ou ponto de partida para estudos e experimentações.

About

Aplicação backend desenvolvida como estudo na trilha full stack da Rocketseat. O projeto simula uma API de registro e acompanhamento de logs operacionais, com autenticação JWT, validação com Zod, banco de dados PostgreSQL e ORM Prisma, tudo containerizado com Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors