https://github.com/mariaseverino/learning
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.
https://github.com/mariaseverino/learning
fastify nodejs prisma typescript
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/mariaseverino/learning
- Owner: mariaseverino
- Created: 2025-05-19T22:19:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-19T22:58:13.000Z (about 1 year ago)
- Last Synced: 2025-06-26T21:42:03.010Z (12 months ago)
- Topics: fastify, nodejs, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 7.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# 🎓 I Learning
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.
## ✨ Funcionalidades
- 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
## 🧰 Stack utilizada
- **Node.js**
- **Fastify**
- **Prisma (ORM)**
- **Zod** (validação de dados)
- **JWT** (autenticação)
- **Swagger** (documentação da API)
- **TypeScript**
## Variáveis de Ambiente
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
`DATABASE_URL`
`JWT_SECRET`
## 💻 Instalação
Instale my-project com npm
```bash
# 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
```