CertifyHub é uma plataforma fullstack para geração e gerenciamento de certificados de alunos, desenvolvida com foco em escalabilidade, organização de código e boas práticas de arquitetura.
O projeto utiliza Next.js, TypeScript e Prisma, com o back-end estruturado seguindo os princípios de Clean Architecture, garantindo desacoplamento, testabilidade e facilidade de manutenção.
- Geração de certificados digitais para alunos.
- Painel administrativo com login, para gerenciamento.
- Suporte à importação de planilhas (.xlsx) com dados para geração dos certificados.
- Next.js – Framework React fullstack
- TypeScript – Tipagem estática
- Prisma ORM – Acesso ao banco de dados
- PostgreSQL – Banco de dados relacional
- Docker & Docker Compose – Padronização de ambiente
- Vitest – Testes
- Clean Architecture – Organização do back-end
Certifique-se de ter instalado:
- Node.js (versão LTS recomendada)
- Docker
- Docker Compose
- pnpm
docker-compose up -dIsso irá iniciar o banco de dados PostgreSQL em segundo plano.
docker-compose downCrie um arquivo .env na raiz do projeto com base no .env.example.
NODE_ENV=dev # prod
DB_USER=user
DB_PASSWORD=password
DB_DATABASE=database
JWT_SECRET=
JWT_TTL='1h'
DATABASE_URL="postgresql://user:password@localhost:5432/database?schema=public"Ajuste as variáveis conforme necessário.
Testes são tratados como parte essencial do projeto, não como um detalhe opcional.
- Vitest – Runner de testes
- Prisma – Banco isolado para testes
- PostgreSQL - Uso de schemas isolados para os testes.
pnpm testpnpm test:watchpnpm test:coveragepnpm test --project unitpnpm prisma generatepnpm prisma migrate devpnpm install
pnpm devA aplicação estará disponível em:
http://localhost:3000
O back-end segue os princípios de Clean Architecture, promovendo:
- Separação de responsabilidades
- Independência de frameworks
- Domínio desacoplado de infraestrutura
- Alta testabilidade
- Facilidade para manutenção e evolução
Cada módulo da aplicação é organizado por domínio, evitando dependências cruzadas e acoplamento desnecessário.
Feito com código limpo, testes confiáveis e uma arquitetura que não te abandona no crescimento 🚀