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.
- 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)
-
Clone o repositório
git clone https://github.com/GaGuarGo/transaction-api.git cd omni-challenge-api
-
Instale as dependências
composer install
-
Configure o ambiente
cp .env.example .env php artisan key:generate
-
Crie o banco e rode as migrations
php artisan migrate
-
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 |