Projeto full-stack de construção com Django (backend) e Next.js (frontend).
constroija/
├── backend/ # API Django REST Framework
├── frontend/ # Aplicação Next.js
├── mobile/ # Aplicação mobile (futuro)
└── docker-compose.yml # Orquestração completa
- Docker e Docker Compose instalados
- Ou Node.js 20+ e Python 3.11+ (para desenvolvimento local)
- Clone o repositório:
git clone <repo-url>
cd constroija- Configure as variáveis de ambiente:
Backend (backend/.env):
SECRET_KEY=sua-secret-key
POSTGRES_DB=constroija_db
POSTGRES_USER=constroija_user
POSTGRES_PASSWORD=constroija_passwordFrontend (frontend/.env.local):
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_APP_URL=http://localhost:3000- Inicie todos os serviços:
docker-compose up -dIsso iniciará:
- ✅ Frontend em
http://localhost:3000 - ✅ Backend em
http://localhost:8000 - ✅ Banco de dados PostgreSQL
- ✅ MailHog para emails em
http://localhost:8025
- Acesse a aplicação:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/api/
- API Docs: http://localhost:8000/api/docs/
- MailHog UI: http://localhost:8025
cd backend
# Configure ambiente virtual e instale dependências
# Veja backend/README.md para detalhes
python manage.py runservercd frontend
npm install
npm run dev- Backend README - Documentação completa do backend
- Frontend README - Documentação completa do frontend
- Frontend Docker Guide - Guia Docker do frontend
# Iniciar todos os serviços
docker-compose up -d
# Ver logs
docker-compose logs -f
# Parar serviços
docker-compose down
# Rebuild após mudanças
docker-compose up -d --build
# Ver status
docker-compose pscd backend
# Veja backend/Makefile para comandos disponíveis
make helpcd frontend
# Veja frontend/Makefile para comandos disponíveis
make helpO sistema usa JWT (JSON Web Tokens) para autenticação:
- Registro:
POST /api/auth/register/ - Login:
POST /api/auth/login/ - Refresh Token:
POST /api/auth/token/refresh/ - Perfil:
GET /api/auth/me/
O frontend gerencia tokens automaticamente via cookies.
cd backend
python manage.py testcd frontend
npm test # Quando configurado-
Configure variáveis de ambiente de produção
-
Use os Dockerfiles de produção:
backend/Dockerfilefrontend/Dockerfile
-
Build e deploy:
docker-compose -f docker-compose.prod.yml up -d- Backend: Veja
backend/README.md - Frontend: Veja
frontend/README.md
- Siga a estrutura de diretórios estabelecida
- Use TypeScript no frontend
- Siga as convenções de código (ESLint, Prettier, Black)
- Documente código complexo
- Escreva testes quando apropriado
[Adicione informações de licença aqui]
- João Eduardo Braga joaoeduardobraga2@gmail.com