Skip to content

GaGuarGo/transaction-api

Repository files navigation

💸 Omni Challenge API

API desenvolvida em Laravel 10 com PHP 8.1 para controle de usuários, carteiras e transações financeiras (transferência, depósito e saque), com autenticação baseada em tokens pessoais.


🛠️ Tecnologias

  • PHP 8.1
  • Laravel 10
  • MySQL
  • Sanctum (token manual via tabela personal_access_tokens)
  • Eloquent ORM
  • Events & Listeners
  • Middlewares personalizados
  • DTOs e Services (estrutura organizada em camadas)

⚙️ Como rodar o projeto

  1. Clone o repositório

    git clone https://github.com/GaGuarGo/transaction-api.git
    cd omni-challenge-api
  2. Instale as dependências

    composer install
  3. Configure o ambiente

    cp .env.example .env
    php artisan key:generate
  4. Crie o banco e rode as migrations

    php artisan migrate
  5. Inicie o servidor local

    php artisan serve

📦 Rotas da API

Método Rota Nome da Rota Descrição
POST /users/signup users.signup Cadastra um novo usuário
POST /users/signin users.signin Autentica e gera um token
POST /users/signout users.signout Revoga o token do usuário logado
GET /users users.index Lista todos os usuários cadastrados
POST /transaction/transfer transaction.transfer Realiza uma transferência entre carteiras
POST /transaction/increase-balance transaction.deposit Adiciona saldo à carteira (depósito)
POST /transaction/decrease-balance transaction.withdraw Subtrai saldo da carteira (saque)
GET /transaction/list transaction.list Lista transações com filtros possíveis

About

A simple api that simulates bank transactions, deposits and withdraws

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published