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.
-
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.
-
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.
-
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.
-
É 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.
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,
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