Este projeto consiste na interface front-end desenvolvida em Next.js que faz parte do projeto "loan-simulation". Esta Web Application permite simular empréstimos para pessoas físicas, levando em consideração o estado do usuário e as taxas de juros específicas de cada região. O objetivo é proporcionar uma experiência amigável e eficiente para a simulação de empréstimos, oferecendo informações detalhadas e personalizadas para cada simulação realizada. O repositório da API pode ser acessado através do seguinte link: loan-simulation-api
Este projeto foi construído utilizando as seguintes tecnologias:
- Next.js;
- TypeScript;
- Tailwind CSS;
- Axios;
- React Hook Form;
- Vitest.
A estrutura do projeto é organizada da seguinte forma dentro da pasta /src
:
- /app: Contém as páginas da aplicação e é responsável por renderizar os componentes que compõem a interface do usuário. No caso deste projeto, uma única página.
- /components: Pasta dedicada aos componentes reutilizáveis da aplicação. Esses componentes auxiliam na construção das páginas, permitindo a reutilização de elementos comuns das páginas.
- /services: Contém a lógica de negócios da aplicação. Aqui estão os serviços desacoplados, como loan.service, uf.service, http.service, entre outros. Esta separação permite a realização de testes unitários isolados, aumentando a confiabilidade do código.
- /types: Centraliza as convenções da aplicação em TypeScript. Inclui interfaces e tipos utilizados em toda a aplicação, garantindo consistência e facilitando a manutenção do código.
- /utils: Pasta para utilidades gerais da aplicação. Contém funções e helpers que serão amplamente utilizados em diferentes partes do projeto, proporcionando uma base sólida de operações comuns.
- /tests: Pasta dedicada aos testes da aplicação. Aqui são armazenados os testes unitários e de integração que garantem a qualidade e a funcionalidade do código. Esta organização facilita a manutenção e a execução dos testes, permitindo verificar se os serviços, componentes e outras partes do código estão funcionando corretamente de forma isolada e integrada.
Para rodar o projeto localmente, siga os passos abaixo:
- Node.js: v21.7.3
- npm: v10.5.0
-
Clone o repositório:
git clone git@github.com:luizottavioc/loan-simulation-gui.git
-
Instale as dependências: Navegue até a pasta do projeto e execute o comando abaixo para instalar todas as dependências necessárias:
npm install
-
Configure o ambiente: Copie o arquivo
.env.example
e renomeie-o para.env.local
. Isso definirá as variáveis de ambiente necessárias para a aplicação:cp .env.example .env.local
-
Inicie o servidor de desenvolvimento: Após configurar o ambiente, execute o comando abaixo para iniciar o servidor de desenvolvimento:
npm run dev
Isso iniciará o servidor local na porta padrão (geralmente
http://localhost:3000
), onde você poderá acessar e interagir com a aplicação. -
Testes automatizados: Para conferir se todos os testes estão respondendo conforme o esperado, execute o comando abaixo para rodar os testes da aplicação:
npm run test
Para verificar a cobertura de testes da aplicação:
npm run coverage