Git Product home page Git Product logo

yahbanking's Introduction


logo

Sumário

Descrição do projeto

Projeto de gerenciamento de clientes e investimentos para o YahBanking Mariner4, desenvolvido para processo seletivo da Yahp

Este projeto tem como objetivo criar um sistema que permita ao gerente de contas do YahBanking Mariner4 gerenciar o cadastro de seus clientes, bem como os tipos de investimentos disponíveis. Além disso, permitir a gestão das contas de seus clientes, com ações como investir e resgatar valores investidos, e gerenciar investimentos, com possibilidade de edição, visualização e encerramento dos mesmos.

Funcionalidades

Clientes

  • Cadastrar novo cliente.
  • Atualizar informações do cliente.
  • Página de detalhes do cliente.
  • Deletar cliente.
  • Listagem de clientes.
  • Ao cadastrar um cliente, os valores de "valor total", "valor não investido" e "valor investido" são preenchidos automaticamente com 0.
  • Possibilidade de depositar valores, o valor depositado é armazenado automaticamente em "valor não investido".
  • Valor total é a soma de "valor não investido" com "valor investido".

Investimentos

  • Cadastrar investimento.
  • Atualizar informações do investimento.
  • Página de detalhes do investimento.
  • Deletar investimento.
  • Listagem de investimentos.
  • Lista de clientes que possuem valores aplicados no investimento.
  • Ao encerrar um investimento são devolvidos para todos os clientes seus respectivos valores aplicados.

API de clientes

  • Comando para importar dados da API e armazenar no banco.
  • Script com chamada para o comando.

Investimentos dos clientes

  • É possível vincular um cliente a um investimento com o qual ele ainda não possui vínculo na página de detalhes de um cliente.
  • Listagem de investimentos de um cliente.
  • Aplicar valores em investimentos já realizados.
  • Resgatar valores de investimentos já realizados.

Demonstração

Demonstração

Como rodar a aplicação

No terminal, clone o projeto:

git clone [email protected]:Thalis-Freitas/yahbanking.git

Entre na pasta do projeto:

cd yahbanking

Instale as dependências:

docker run --rm -it -v $PWD:/app -u $(id -u):$(id -g) composer install

Crie o arquivo .env:

cp .env.example .env

Para facilitar a execução de comandos do Sail, crie um atalho:

alias sail="./vendor/bin/sail"

Certifique-se de que o Docker esteja em execução em sua máquina e suba os containers:

sail up -d

OBS: Por favor, por prevenção aguarde 1 minuto para rodar o próximo comando, para que o banco de dados possa estar preparado para as migrations!

Rode o script abaixo, ele é responsável por:

  • Gerar a key do projeto
  • Executar as migrations
  • Criar link simbólico para que os arquivos armazenados possam ser acessados publicamente
  • Popular o banco de desenvolvimento com dados fakes
  • Importar dados da API de clientes para o banco
./setup.sh

Acesse o shell do container do projeto:

sail shell

Instale as dependências de compilação:

npm install

Compile o projeto:

npm run dev
  • Acesse http://localhost e faça login com o usuário já cadastrado no sistema:
E-mail Senha
[email protected] password

Comando para rodar os testes:

Para que os testes com views funcionem corretamente execute o comando sail artisan test em outra janela do terminal enquanto o npm run dev estiver rodando.

sail artisan test

Comando para derrubar a app:

sail down

yahbanking's People

Contributors

thalis-freitas avatar

Watchers

 avatar

yahbanking's Issues

CRUD Investimentos

o Nome comercial do investimento;
o Sigla comercial do investimento;
o Descrição desse investimento.

  • Cadastrar;
  • Exibir detalhes;
  • Atualizar;
  • Deletar.

Adicionar campos de valores aos clientes

Valor total;
Valor não investido;
Valor investido;

  • Ao cadastrar um cliente, os valores de "valor total", "valor não investido" e "valor investido" são preenchidos automaticamente com 0.

Aplicar e resgatar valores

Possibilidade de aplicar novos valores nos investimentos já realizados no passado:

  • valor a ser aplicado não pode ser maior do que esse cliente tem disponível, ou seja, valor não investido.
  • se o cliente já tiver algum valor aplicado nesse investimento, devemos somar e armazenar apenas o valor total.

Possibilidade de resgatar valores investidos:

  • valores resgatados vão diretamente para “Valor Não Investido”.
  • caso se resgate todo o valor investido nessa aplicação, o investimento deve sumir da lista.
  • não é possível resgatar valores maiores do que os investidos.

Melhorias nas validações

  • Form Request para aplicação de valores
  • Form Request para resgate de valores
  • Criptografar o id do investimento nestes formulários

Consumir dados da API

  • Criar comando para importar dados da API de usuários;
  • Criar um script de chamada para o comando.

Associar clientes a investimentos

  • possibilitar a vinculação de um novo investimento para um cliente.
  • possibilitar adição de valor(depósito) para um cliente (o valor adicionado vai automaticamente para valor não investido).
  • valor total é a soma de valor não investido com valor investido.
  • adicionar lista de investimentos já feitos com valores de cada um na página de detalhes de um cliente.

CRUD Clientes

o Nome;
o Sobrenome;
o E-mail;
o Avatar (foto de perfil).

  • Cadastrar;
  • Exibir detalhes;
  • Atualizar;
  • Deletar;
  • Listar clientes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.