Simulador de App de Banco

Esse projeto é uma aplicação que simula as funções basicas de um app de banco como criação de usuário, transação entre usuários e listagem de transações por usuários. O design escolhido é inpirado no aplicativo do banco NG.CASH.

Funcionalidades

  • Criar novo usuario

    O front-end faz valização do tamanho minimo de nome de usuário e das restrições de caracteres para a senha.

    O back-end retorna erro caso já exista usuário cadastrado.

    Cadastro de Usuário
  • Login

    O front-end faz valização se os campos foram preenchidos.

    O back-end retorna erro caso usuário não exista e se usuário e senha não forem compatíveis.

    Cadastro de Usuário
  • Realizar Transação

    O back-end controla se o usuário possui saldo suficiente para realizar a transação, se o valor da transação é maior que zero e se o usuario não está tentando realizar uma transação para si mesmo.

    Cadastro de Usuário
  • Realizar Transação

    É apresentado um histórico de transações daquele usuário informando a quantia, se foi valor recebido ou enviado, data da transação e com qual usuário a transação foi realizada.

    Cadastro de Usuário

Instalação

Para testar esse projeto é preciso primeiro criar um banco de dados com PostgreSQL e seguir os próximos passos.

Front-end: acesse a pasta "client" e instale as dependências:

    $ npm install

Back-end: acesse a pasta "servidor" e instale as dependências:

    $ npm install

ainda na pasta "servidor" configure o arquivo "ormconfig.json" conforme suas informações do banco de dados

    {
      "type": "postgres",
      "host": "localhost",      <---  host
      "port": 5432,             <---  porta
      "username": "postgres",   <---  usuario
      "password": "admin",      <---  senha
      "database": "ngcashdb",   <---  nome do banco
      "synchronize": true,
      "entities": [
          "src/app/models/*.ts"
      ],
      "migrations": [
          "src/database/migrations/*.ts"
      ],
      "cli": {
          "migrationsDir":  "src/database/migrations"
      }
    }

em seguida,

Executando as aplicações

Primeiro acesse a pasta do back-end "servidor" e execute o seguinte comando:

  $ npm run dev

Agora é só executar o front-end na pasta "client":

  $ npm start