Tudo o que for feito em prol da comunidade e que gere um impacto real vale pontos e será reconhecido. O objetivo deste sistema é capturar, registrar e eternizar esse esforço.
Este é o repositório da API (Backend) responsável pelo gerenciamento de toda a economia pontual e rankings mensais do portal Devs Tocantins. A estrutura provê validações criptográficas, integrações com nuvem, bancos relacionais robustos, histórico de transações e roteamentos autênticos baseada numa moderna Arquitetura API-First sobre NestJS e TypeORM.
Familiarize-se com a estrutura do sistema visitando a nossa Pasta Oficial de Documentações docs/ na raiz.
- Instalação e Ambiente Local
- Regras do Produto (PRD - Engajamento)
- Design da API Base
- Modelagem de Dados (Banco Relacional)
- Autenticação e Sessões JWT
- Upload de Comprovantes (AWS S3 / Storage)
- Arquitetura Hexagonal
- Geradores de Componentes por CLI
- Internacionalização / Traduções
- Filosofia E2E e Testes Unitários
- Relacional Profundo: Funciona através do PostgreSQL integrado ao TypeORM. Desacoplamento entre Dados de Login e Dados do Perfil de Gamificação (carteira XP).
- CI e Segurança Intensa: Configurações de Linting nativas via Github Actions, padronização de commits (Husky), ESLint, Prettier e Restrições de serializações (ocultamento de senhas automático com class-transformer).
- Ecossistema Completo de Autenticação: Login por Email integrado com Handlebars (Envio transacional com Nodemailer e teste offline com Maildev). Preparado pro futuro com Apple, Facebook e Google Login.
- Permissões (Roles e Submissões): Camada de aprovação unificada contendo papéis isolados (Usuário Submete Atividades / Moderador aprova, ganha XP automático).
- Arquitetura Imparcial: Separação entre Serviços Core, Infraestrutura Persistência e Entidades base do Domínio.
Começar no nosso ecossistema exige pouquíssimos comandos devido à automação Docker e Seeds de semente do próprio sistema.
- Configure as chaves base copiando
.env-example-relational
cp env-example-relational .env- Inicialize as bases em Background:
docker compose up -d postgres adminer maildev- Instale módulos node e rode o script configurador inicial (apenas 1x).
npm run app:config- Gere o BD a partir dos schemas de entidades locais (
migration) e gere também dados falsos e regras iniciais de catálogo para facilitar seus testes no Swagger (seed).
npm run migration:run
npm run seed:run:relational- Assista a Mágica rodando localmente! Acesse o portal
http://localhost:3000/docs.
npm run start:dev(Para explicações detalhadas ou dúvidas nos comandos de Setup, visite: docs/installing-and-running.md)
Mergulhe na arquitetura colaborando para tornar os Devs Tocantins o polo de maior reconhecimento de devs voluntários.
Antes de baixar o repô e subir código de qualquer maneira, exigimos fortemente a leitura do nosso Guia de Contribuição (CONTRIBUTING.md) para não quebrar a CI principal do pipeline (por não utilizar Conventional Commits) ou não desrespeitar a padronização NestJS imposta nas Models.