Skip to content

jonasvictor/back-stg-project

Repository files navigation

Projeto Backend

Este projeto implementa um sistema de CRUD de usuários e funcionalidades relacionadas a transações como depósitos, saques, verificação de saldo e geração de extrato.

Tecnologias Utilizadas

  • TypeScript
  • Postgres
  • TypeORM
  • Redis
  • JWT

Pré-requisitos

Antes de iniciar o projeto, você precisará ter instalados:

Iniciando o Projeto

  1. Instale as dependências do projeto:

    npm install
  2. Inicie a aplicação utilizando o Docker Compose:

    docker compose up -d
  3. Você pode verificar o status dos contêineres usando o seguinte comando:

    docker compose ps
  4. Acesse a aplicação em http://localhost:3000.

Endpoints

Usuários

Criar um novo usuário

POST localhost:3000/usuarios/

Body:

{
  "name": "Teste1",
  "email": "[email protected]",
  "senha": "123"
}

Listar todos os usuários

GET localhost:3000/usuarios/

Buscar um usuário pelo ID

GET localhost:3000/usuarios/1

Atualizar um usuário pelo ID

PUT localhost:3000/usuarios/1

Body:

{
  "name": "Teste1",
  "email": "[email protected]"
}

Excluir um usuário pelo ID

DELETE localhost:3000/usuarios/1

Autenticação de usuário

POST localhost:3000/login/

Body:

{
  "email": "[email protected]",
  "senha": "123"
}

Transações

Realizar um depósito

POST localhost:3000/transacoes/deposito

Body:

{
  "valor": 100.0,
  "usuario_id": 1
}

Realizar um saque

POST localhost:3000/transacoes/saque

Body:

{
  "valor": 50.0,
  "usuario_id": 1
}

Obter o saldo de um usuário

GET localhost:3000/saldo/1

Obter o extrato de todas as transações de um usuário

GET localhost:3000/extrato/1

Obter o extrato de transações de depósito de um usuário

GET localhost:3000/extrato/deposito/1

Obter o extrato de transações de saque de um usuário

GET localhost:3000/extrato/saque/1

Atualizar o status de uma transação

PUT localhost:3000/transacoes/1

Body:

{
  "status_id": 2
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published