API REST para uma plataforma de cursos por assinatura, desenvolvida com Node.js, Fastify, Zod e Prisma. A aplicação está organizada em módulos, seguindo boas práticas de Clean Code.
- Cadastro e autenticação de usuários
- Criação, listagem, atualização e exclusão de:
- Categorias
- Cursos
- Aulas
- Instrutores
- Matrícula e progresso de estudantes em cursos
- Validações robustas com Zod
- Autenticação com JWT + refresh token
- Middleware de autorização
- Documentação com Swagger
- Node.js
- Fastify
- Prisma (ORM)
- Zod (validação de dados)
- JWT (autenticação)
- Swagger (documentação da API)
- TypeScript
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
DATABASE_URL
JWT_SECRET
Instale my-project com npm
# Clone o repositório
git clone https://github.com/mariaseverino/learning.git
cd learning
# Instale as dependências
npm install
# Rode as migrations do Prisma
npx prisma migrate dev
# Inicie o servidor
npm run dev