Este projeto é uma aplicação web que permite a consulta de contratos de órgãos públicos utilizando a API do Portal Nacional de Contratações Públicas (PNCP). A aplicação permite que o usuário consulte contratos de um órgão público específico, fornecendo o CNPJ do órgão e um período de datas. As informações sobre os contratos, incluindo detalhes do fornecedor, objeto do contrato, vigência e valores, são exibidas na página.
- Consulta de Contratos: Permite a consulta de contratos de um órgão público específico, informando o CNPJ, a data inicial e a data final.
- Exibição de Contratos: Exibe uma lista de contratos com informações detalhadas sobre o fornecedor, objeto do contrato, vigência e valores.
- Formatação Monetária: Os valores dos contratos são formatados de acordo com o padrão monetário brasileiro (R$ 0.000,00).
- Validação de Datas: Quando o CNPJ não é informado, a aplicação valida se a diferença entre a data inicial e a data final é de no máximo 1 dia(Por limitações da API e conectividade com o banco de dados, com mais de 1 dia de range, se torna quase impossível retornar algum valor sem dar error 500).
-
Frontend:
- Next.js - Framework React para renderização do lado do servidor e geração de páginas estáticas.
- React - Biblioteca para construção de interfaces de usuário.
- Tailwind CSS - Framework de CSS utilitário para estilização.
- Axios - Cliente HTTP baseado em Promises para o navegador e Node.js.
-
Backend:
- API: Consome a API do PNCP para obter as informações dos contratos.
- Node.js instalado (recomendado: versão 14 ou superior)
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/seu-usuario/nome-do-repositorio.git cd nome-do-repositorio
-
Instale as dependências:
npm install
ou
yarn install
-
Inicie o servidor de desenvolvimento:
npm run dev
ou
yarn dev
-
Acesse a aplicação:
Abra seu navegador e acesse
http://localhost:3000
.
- Consulta de Contratos:
- Insira o CNPJ do órgão público no campo de texto (opcional).
- Selecione a data inicial e a data final para o período de consulta.
- Clique no botão "Buscar" para realizar a consulta.
- Se nenhum CNPJ for informado, a diferença entre a data inicial e a data final deve ser de no máximo 1 dia.
- /components: Contém os componentes reutilizáveis da aplicação, como botões, inputs, e listas de contratos.
- /pages: Contém as páginas da aplicação, incluindo a página principal de consulta.
- /services: Contém o código para comunicação com a API do PNCP.
npm run dev
: Inicia o servidor de desenvolvimento.npm run build
: Compila o projeto para produção.npm start
: Inicia o servidor de produção (após rodarnpm run build
).npm run lint
: Verifica o código usando ESLint.