Skip to content

Gabrielcefetzada/api-pagamento

Repository files navigation

Configuraração e Setup do Projeto

Arquivo .env

A fins de praticidade e por existir apenas localmente, basta copiar o .env.example, criar um

novo .env e copiar o conteúdo daquele para este. A única coisa que deve ser preenchida é a variável APP_KEY. Para siga o próximo passo primeiro.

Start no servidor

O projeto roda com Docker e Docker Compose, com 4 contâiners – Aplicação Laravel, Mailpit, Mysql e Redis.

Execute:

sudo docker compose up

ou se já tiver configurado um grupo para o Docker: docker compose up

Entre no contâiner do laravel:

sudo docker exec -it api-pagamento-laravel.test-1 bash Execute:
php artisan composer install

php artisan key:generate

php artisan migrate:fresh --seed

Geramos um valor para a env var APP_KEY e rodamos as migrações necessários do banco e o populamos com alguns usuários, criação de carteira, e permissões.

Usuários

Sobre os usuários cadastrados temos

Um usuário comum. Inclusive é o único que possui saldo por padrão ($100). Login →

{
  "email": "[email protected]", 
  "password": "password"
}  

Um lojista

{
  "email": "[email protected]",
  "password": "password"
}

Um admin

{
    "email": "[email protected]",
    "password": "password"
}

Fila de e-mails

Quando se cria uma transação, um job de envio de e-mail é disparado na fila padrão. Para deixar o worker da fila aberto basta rodar em outra aba do terminal, dentro do container:

php artisan queue:work

Endpoints

A collection com os endpoints da api estão dentro da pasta docs/requests-collection.json. Mas além disso, a escolha do client api para testar os endpoints foi o Bruno. Bruno é um cliente de API Opensource, gratuito, rápido e compatível com Git, que visa revolucionar o status quo representado por Postman, Insomnia e ferramentas similares por aí. Bruno armazena suas coleções diretamente em uma pasta no seu sistema de arquivos. Usam uma linguagem de marcação de texto simples, Bru, para salvar informações sobre solicitações de API. Você pode usar o git ou qualquer controle de versão de sua escolha para colaborar em suas coleções de API.

A pasta do Bruno no projeto é a /requests-collection

Testes

Na aplicação, existem testes de Unidade e de Feature. Para rodar os testes, basta entrar no container e executar:

php artisan test

CI/CD

A aplicação contém uma simples pipe que roda todos os testes antes de uma PR para a master ou um push para master. Localizada em: .github/workflows/pipeline.yml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages