Esse projeto tem como objetivo construir uma API de um banco com operações simples de depósito
e transfências de valores.
Além de poder instalar e rodar o projeto localmente, você pode também acessar a
versão online em um deploy realizado no Railway.
- Node.js
- Express.js
- MySQL
- Cors
- JWT
Configurando o banco de dados e .env
O projeto vem configurado para rodar em um banco de dados MySQL, então é nessário instalar MySQL em seu computador ou utilizar um servidor na nuvem com as seguintes configuracões:
MYSQL_HOST=
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_DATABASE=
MYSQL_PORT=
PORT=
JWT_SECRET=
Rodando o projeto localmente
Para rodar está aplicação é necessário ter Git e o Node e o instalados e atualizados em seu computador.
Também é necessário que o seu sistema operacional tenha um terminal Bash instalado. Caso você esteja utilizando Linux ou macOS, o Bash já vem instalado por padrão. Porém, se o seu sistema for Windows, talvez você precise fazer a instalação a parte.
1. Após clonar o repositório, execute o comando abaixo na raíz do projeto no terminal para instalar as dependências
npm install
npm start
Criando uma conta /ACCOUNT
- É necessario ter a chave name
- É necessário ter a chave cpf
- Cpf aceita somente digitos numérios
- Cpf aceita apenas uma composição de 11 digitos
body = {
"name":
"cpf":
}
Checando saldo /ACCOUNT/SALDO
- É necessario o token de autenticação obtido via Login
header = {
authorization: token
}
Efetuando depósito /ACCOUNT/DEPOSITO
- É necessario o token de autenticação obtido via Login
- É necessário um valor maior que 0
- É necessário informar o valor da chave "deposito"
header = {
authorization: token
}
body = {
"deposito":
}
Efetuando Login /LOGIN
- É necessario a chave cpf
- É necessário a chave name
- É necessário que e name e cpf correspodam no cadastro do banco de dados.
body = {
"name":
"cpf":
}
Efetuando transferência /TRANSFER
- É necessario o token de autenticação obtido via Login
- É necessário a chave destinatario ser um usuário existente
- É necessário que o valor transferValue seja maior que 0, menor que 2000 e não maior que seu saldo atual
header: {
authorization: token
}
body = {
"destinatario":
"transferValue":
}