Skip to content

Projeto teste para validação e gerenciamento de CPFs e CNPJs.

Notifications You must be signed in to change notification settings

rodrigolemos/doc-blacklist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Document Blacklist

GitHub code size in bytes GitHub last commit

Sobre

Document Blacklist é um projeto teste para validação e gerenciamento de CPFs e CNPJs. Nele é possível cadastrar os documentos em uma base, validá-los, incluí-los e excluí-los de uma blacklist. Além disso, é possível ver na prática a utilização das tecnologias como NodeJS + express framework, ReactJS, Typescript, Chakra UI e várias outras APIs bastante úteis no desenvolvimento deste tipo de software. Por ser uma aplicação de teste, não há intenção em disponibilizá-la como produto ou publicá-la para uso em produção. Caso considere alguma parte do código interessante ou acredite que algo possa ser melhorado, fique à vontade para comentar. Todo feedback é bem-vindo.

Como executar o projeto localmente

Certifique-se que você tenha instalado em sua máquina o Git e o Docker + Docker Compose. Em seguida, execute os seguintes passos:

# Clone este repositório
$ git clone https://github.com/rodrigolemos/doc-blacklist

# Acesse a pasta do projeto
$ cd doc-blacklist

# Instancie os containers da aplicação
$ docker-compose up -d --build

Aguarde o processo de instalação ser finalizado. Serão criados 3 containers:

  • doc-blacklist-mongo: MongoDB exclusivo para a aplicação
  • doc-blacklist-service: Back-end da aplicação
  • doc-blacklist-ui: Interface da aplicação
# Verifique se o serviço foi iniciado sem problemas
$ docker logs doc-blacklist-mongo

# A resposta para o comando deve ser
# App running on port 5000

Após esses passos, a interface da aplicação estará disponível na porta 3000. Acesse-a pelo navegador através do endereço http://localhost:3000.

Layout preview

Principal

Definições

A aplicação contém uma interface (UI) para gerenciamento de CPF/CNPJ (CRUD) com a possibilidade filtros, ordenação e marcação de alguns em uma blacklist.

Requisitos e funcionalidades

  • Validação do documento (dígito verificador) CPF/CNPJ na consulta e inclusão;
  • SPA (Single Page Application) como front-end;
  • Interface REST para integração do back-end com o front-end;
  • Rota de suporte (/status) para verificação das informações de up-time do servidor e quantidade de consultas realizadas desde o start;
  • Utilização do banco de dados MongoDB.
  • Conteinerização dos projetos utilizando Docker;
  • Utilização de testes unitários para as funções de validação.

Tecnologias

Back-end

  • NodeJS - Servidor principal;
  • Express - Um framework web para Node.js;
  • TypeScript - Uma extensão do JavaScript;
  • Helmet - Conjunto de validações de segurança para apps express;
  • TypeORM - Um dos ORMs mais populares para JavaScript e TypeScript;
  • MongoDB - Um dos bancos de dados mais populares do mundo;
  • Jest - Framework de Testes em JavaScript com um foco na simplicidade;

Front-end

  • React JS - Uma biblioteca JavaScript para criar interfaces de usuário;
  • Styled Components – Uma biblioteca popular para uso de CSS-in-JS;
  • ChakraUI – Uma biblioteca de componentes React estilizados;
  • axios – Cliente HTTP baseado em promises;

Autor

Rodrigo Lemos

Releases

No releases published

Packages

No packages published

Languages