Aplicação fullstack de gerenciamento de produtos e categorias.
- Backend: NestJS + Prisma 7 + PostgreSQL
- Frontend: React + Vite
- Infra: Docker
/
├── backend/ # API REST em NestJS
├── frontend/ # Interface em React + Vite
└── docker-compose.yml
- Docker Desktop instalado e rodando
Não é necessário ter Node.js, npm ou PostgreSQL instalados na máquina. O Docker cuida de tudo.
git clone https://github.com/EmanuelGDev/product-manager-coderlab.git
cd product-manager-coderlabCrie um arquivo .env dentro da pasta backend/:
# backend/.env
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/appdbdocker compose up --buildAbra outro terminal e execute:
docker compose exec backend npx prisma migrate deploydocker compose exec backend npx prisma db seedIsso irá criar 12 categorias e 2 produtos de exemplo.
| Serviço | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend | http://localhost:3000 |
# Subir os containers
docker compose up
# Subir em background (sem travar o terminal)
docker compose up -d
# Ver logs de todos os containers
docker compose logs -f
# Ver log de um container específico
docker compose logs -f backend
docker compose logs -f frontend
# Parar os containers
docker compose down
# Parar e apagar os dados do banco
docker compose down -v
# Rodar migrations
docker compose exec backend npx prisma migrate deploy
# Resetar o banco (apaga tudo e recria)
docker compose exec backend npx prisma migrate reset --force
| Método | Rota | Descrição |
|---|---|---|
| GET | /products |
Lista todos os produtos |
| GET | /products/:id |
Busca produto por ID |
| POST | /products |
Cria um produto |
| PATCH | /products/:id |
Atualiza um produto |
| DELETE | /products/:id |
Remove um produto |
| Método | Rota | Descrição |
|---|---|---|
| GET | /categories |
Lista todas as categorias |
| GET | /categories/:id |
Busca categoria por ID |
| POST | /categories |
Cria uma categoria |
| PATCH | /categories/:id |
Atualiza uma categoria |
| DELETE | /categories/:id |
Remove uma categoria |