Este é um projeto de aplicação web criado para fins educacionais, com o objetivo de ensinar conceitos de teste de software. Ele consome uma API REST (Banco API) e oferece funcionalidades como login, transferências entre contas e listagem de transferências.
Este projeto depende da API REST disponível no repositório Banco API.
Antes de executar o Banco Web, certifique-se de que a API esteja configurada e rodando.
- Backend: Node.js com Express
- Mock Server: Mockoon
- Frontend: HTML, CSS (Materialize CSS), e JavaScript
- Bibliotecas:
-
Clone este repositório:
git clone https://github.com/juliodelimas/banco-web.git cd banco-web -
Instale as dependências:
npm install
-
Configure as variáveis de ambiente: Crie um arquivo
.envna raiz do projeto com as seguintes variáveis:API_BASE_URL=http://localhost:3000 # URL base da API REST Banco API ou do Mock Server PORT=4000 # Porta em que o servidor será executado
-
Execute o servidor:
npm run server
-
Execute o servidor de Mock (Opcional):
npm run mock-server
-
Abra o navegador e acesse:
http://localhost:4000
- Permite autenticar um usuário através da API Banco.
- Campos necessários:
- Usuário
- Senha
- Permite realizar transferências entre contas.
- Campos necessários:
- Conta Origem
- Conta Destino
- Valor
- Token (apenas para valores superiores a R$ 5.000,00, use 123456 como valor fixo).
- Exibe transferências realizadas com paginação.
- Controles:
- Página Anterior
- Página Atual
- Próxima Página
- Permite consultar contas cadastradas no sistema.
├── public
│ ├── css
│ │ └── styles.css # Estilos da aplicação
│ ├── js
│ │ ├── setup.js # Configuração inicial
│ │ ├── login.js # Lógica de login
│ │ ├── transferencia.js # Lógica de transferências
│ │ └── contas.js # Lógica de contas
│ └── index.html # Interface principal
├── mocks
│ └── banco-api.json # Mocks da banco-api criados no Mockoon
├── app.js # Servidor Express
├── .env # Configurações de ambiente
├── package.json # Configuração do projeto
└── README.md # Documentação
Os arquivos JavaScript foram revisados e melhorados com base nas boas práticas de programação. Aqui estão algumas das melhorias realizadas:
- Tratamento de Erros: Adicionado
try-catchpara gerenciar falhas nas requisições assíncronas. - Melhor Manipulação do DOM: Substituído
innerHTMLpor métodos comocreateElementpara prevenir problemas de segurança. - Validação de Entradas: Verificações adicionadas para garantir que todos os campos estejam preenchidos antes de enviar requisições.
- Feedback ao Usuário: Mensagens visuais aprimoradas para indicar progresso ou erros de maneira mais clara.
Os arquivos revisados estão disponíveis no diretório public/js/.
Desenvolvido por Júlio de Lima para treinamentos de teste de software.
Este projeto é licenciado sob a Licença ISC.