Skip to content

Microsserviço responsável pela gestão de Controladores, Encarregados de Dados Pessoais (DPOs), seus grupos econômicos e quadros societários no contexto da LGPD

License

Notifications You must be signed in to change notification settings

anpdgovbr/controladores-api

Repository files navigation

NestJS

API de Cadastro de Controladores

ANPD

NestJS TypeScript PostgreSQL Node.js

Microsserviço robusto para gerenciar controladores, encarregados (DPOs), grupos econômicos e quadros societários, em conformidade com a LGPD.


🌟 Funcionalidades

  • CRUD completo para todas as entidades:
    • Controladores (empresas)
    • Encarregados (DPOs)
    • Grupos Econômicos
    • Sócios
  • Relacionamentos entre sócios e controladores.
  • Paginação e filtros em listagens.
  • Documentação da API gerada automaticamente com Swagger.

📦 Tecnologias Utilizadas


🚀 Começando

Pré-requisitos

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/cadastro-controladores-api.git
    cd cadastro-controladores-api
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    • Renomeie o arquivo .env.example para .env.
    • Preencha as variáveis, especialmente a DATABASE_URL.
  4. Inicie o banco de dados com Docker:

    docker-compose up -d
  5. Aplique as migrações do Prisma:

    npx prisma migrate dev

▶️ Executando a Aplicação

# Modo de desenvolvimento (com hot-reload)
npm run start:dev

# Modo de produção
npm run start:prod

A API estará disponível em http://localhost:3000.


🧪 Testes

# Testes unitários
npm run test

# Testes end-to-end (E2E)
npm run test:e2e

# Relatório de cobertura de testes
npm run test:cov

📄 Documentação da API

A documentação completa dos endpoints está disponível via Swagger UI:


📁 Estrutura do Projeto

/
├── prisma/             # Schema, migrações e seeds do banco
├── src/                # Código-fonte da aplicação
│   ├── common/         # Módulos e utilitários comuns
│   ├── modules/        # Módulos de cada entidade (controlador, socio, etc.)
│   └── main.ts         # Arquivo de entrada da aplicação
├── test/               # Testes E2E
└── package.json        # Dependências e scripts

🤝 Contribuindo

Contribuições são bem-vindas! Siga os passos:

  1. Faça um fork do projeto.
  2. Crie uma nova branch (git checkout -b feature/nova-funcionalidade).
  3. Faça commit das suas alterações (git commit -m 'Adiciona nova funcionalidade').
  4. Faça push para a branch (git push origin feature/nova-funcionalidade).
  5. Abra um Pull Request.

🏢 Autoria Institucional

Este microsserviço é mantido pela: DDSS – Divisão de Desenvolvimento e Sustentação de Sistemas CGTI/ANPD – Coordenação-Geral de Tecnologia da Informação Autoridade Nacional de Proteção de Dados (ANPD)


🛡️ Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

About

Microsserviço responsável pela gestão de Controladores, Encarregados de Dados Pessoais (DPOs), seus grupos econômicos e quadros societários no contexto da LGPD

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •