Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Técnico Coderlab

Aplicação fullstack de gerenciamento de produtos e categorias.

Tecnologias

  • Backend: NestJS + Prisma 7 + PostgreSQL
  • Frontend: React + Vite
  • Infra: Docker

Estrutura do Projeto

/
├── backend/       # API REST em NestJS
├── frontend/      # Interface em React + Vite
└── docker-compose.yml

Pré-requisitos

Não é necessário ter Node.js, npm ou PostgreSQL instalados na máquina. O Docker cuida de tudo.

Como rodar

1. Clone o repositório

git clone https://github.com/EmanuelGDev/product-manager-coderlab.git
cd product-manager-coderlab

2. Configure as variáveis de ambiente

Crie um arquivo .env dentro da pasta backend/:

# backend/.env
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/appdb

3. Suba os containers

docker compose up --build

4. Rode as migrations (apenas na primeira vez)

Abra outro terminal e execute:

docker compose exec backend npx prisma migrate deploy

5. Popular o banco com dados iniciais (opcional)

docker compose exec backend npx prisma db seed

Isso irá criar 12 categorias e 2 produtos de exemplo.

6. Acesse a aplicação

Serviço URL
Frontend http://localhost:5173
Backend http://localhost:3000

Comandos úteis

# 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

Endpoints da API

Produtos

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

Categorias

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages