- bootstrap
- capybara
- devise
- factory_bot_rails
- faker
- rubocop-rails-omakase
- rspec-rails
- simplecov
- shoulda-matchers
- sqlite3
- stimulus-rails
- turbo-rails
git clone git@github.com:PedroD98/Bankits.git
cd bankits
Para instalar as depêndencias do projeto e configurar o banco de dados
bundle install
rails db:migrate
Caso queria popular o banco de dados, execute:
rails db:seed
Contas para o acesso:
- Usuário regular
- Número da conta: 12345
- Senha: 1111
- Usuário Vip
- Número da conta: 54321
- Senha: 1111
Para colocar a aplicação no ar:
bin/devPara rodar os testes, execute:
rspecPara gerar o relatório de cobertura de testes, abra o arquivo coverage/index.html no seu navegador após rodar o comando.
É possível cadastrar uma conta acessando a tela inicial e clicando em "Inscrever-se", localizado na navbar. Após enviar o formulário com dados válidos, sua conta estará pronta para ser utilizada.
- Validações:
- Número da conta: deve conter somente 5 digitos
- Senha: deve conter somente 4 digitos
Para acessar sua conta, basta preencher o formulário na tela de login com suas credênciais.
Após realizar o login, o usuário será redirecionado para a tela principal da aplicação. Um dashboard exibirá todas as informações necessárias. Os formulários para depósito, saque e transferência também estarão presentes na tela, assim como uma lista detalhando todas as transações do usuário.
Caso não tenha feito uma transação, o usuário verá uma mensagem comunicando que o extrato está vazio.
Um usuário VIP terá um ícone único na navbar, para facilitar a diferenciação entre tipos de usuários.
Inserindo um valor válido e clicando em "Depositar", uma transação será feita para a conta do usuário, e seu saldo será atualizado.
- Validações:
- O valor inserido no campo não pode ser negativo.
Inserindo um valor válido e clicando em "Sacar", uma transação será feita para a conta do usuário, e seu saldo será atualizado.
- Validações:
- O valor inserido no campo não pode ser negativo;
- Para usuários regulares, não é possível sacar um valor maior do que o saldo atual;
- Usuários VIP podem sacar além do valor do saldo em conta, mas uma taxa de juros será aplicada a cada minuto até que o saldo seja regularizado.
Enviar o formulário de transferência com valores válidos gerará 3 transações, são elas:
- Transferência enviada: o valor será debitado da conta do usuário remetente;
- Taxa de transferência: também será debitada da conta do remetente
- Para usuários regulares, a taxa sempre será de R$ 8,00;
- Para usuários VIP, a taxa será 0,8% em cima do valor da transferência.
- Transferência recebida: o destinatário receberá o valor transferido.
Algumas validações precisam ser seguidas:
- O valor máximo de transferência para usuários regulares é de R$ 1000,00 (sem limites para VIP);
- O valor inserido no campo deve ser positivo;
- O número da conta inserido no campo deve refletir uma conta existente;
- Não é possível transferir para a própria conta.
Apenas usuários VIP conseguirão ver o botão de "Agendamento Gerencial", localizado na navbar. Ao clicar no botão, uma janela modal aparecerá pedindo para que o usuário insira a data para o agendamento da visita.
Ao concluir o processo, um valor de R$ 50,00 será debitado da conta do usuário.
- Validações:
- Não é possível enviar uma data passada.
Quando um usuário VIP está negativado, a cor do saldo fica em vermelho vivo, e uma mensagem de alerta informando sobre a taxa de juros é exibida no topo da página.
A taxa de juros será de 0,1% em cima do valor atual do saldo, e será cobrada a cada minuto até que o usuário regularize seu saldo, seja com trasnferência recebida ou depósito.