An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

![Logo](/undraw_graduation_u7uc.png)

# 🎓 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.



GitHub top language
GitHub last commit


## ✨ 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
```