Plataforma de gamificação para doação de sangue
Sistema completo de incentivo à doação de sangue com gamificação, rastreamento de doações e integração com o Conecta Recife.
- Node.js 18+
- Docker Desktop
- PostgreSQL (via Docker)
# 1. Iniciar Docker Desktop
# 2. Subir banco de dados
docker-compose up -d
# 3. Instalar dependências
npm install
npm install -D tsx
# 4. Configurar banco de dados
npx prisma migrate deploy
npx prisma generate
npx prisma db seed
# 5. Iniciar aplicação
npm run dev# Prisma Studio (interface visual do banco)
npx prisma studio
# Modo de desenvolvimento (frontend + backend)
npm run devO projeto possui 98 testes divididos em duas categorias:
Testam o fluxo completo da aplicação com banco de dados real.
Executar Testes:
# Setup completo (Docker + Migrations + Testes)
npm run test:setup
# Apenas executar testes
npm test
# Modo watch (desenvolvimento)
npm run test:watch
# Interface visual
npm run test:ui
# Cobertura de código
npm run test:coverageRequisitos: Docker Desktop rodando (banco PostgreSQL)
Testam funções isoladas dos controllers usando mocks.
Executar Testes:
# Executar todos os testes unitários
npm run test:unit
# Modo watch (re-executa ao salvar)
npm run test:unit:watch
# Cobertura de código
npm run test:unit:coverageRequisitos: Nenhum (não precisa de banco de dados)
npm run test:unit && npm test- Resumo Completo - Visão geral dos testes de integração
- Início Rápido - Comandos essenciais
- Guia Docker - Configuração detalhada
- Troubleshooting - Resolução de problemas
DoaCin/
├── src/ # Frontend React
│ ├── pages/ # Páginas da aplicação
│ ├── components/ # Componentes reutilizáveis
│ └── context/ # Context API (Auth, Dashboard)
├── routes/ # Backend Express
│ ├── auth.js # Autenticação
│ ├── dashboard.js # Estatísticas
│ ├── donations.js # Gestão de doações
│ ├── campaigns.js # Locais de campanha
│ └── user.js # Perfil do usuário
├── tests/
│ ├── integration/ # Testes de integração (67 testes)
│ └── unit/ # Testes unitários (31 testes)
├── prisma/ # Schema e migrations
└── docs/ # Documentação completa
- Node.js + Express
- PostgreSQL + Prisma ORM
- JWT Authentication
- Bcrypt
- React + Vite
- React Router
- Context API
- Vitest (67 testes)
- Supertest
- Docker PostgreSQL
- API: Todos os endpoints documentados em
docs/ - Testes: Documentação completa em
docs/TESTS-SUMMARY.md - Docker: Guia de configuração em
docs/DOCKER-TESTS.md
Projeto desenvolvido pela equipe DoaCin - 2025