/api-store

Primary LanguagePHPMIT LicenseMIT

Api Store


Sobre

Essa api foi desenvolvida como uma loja.
Nela podemos criar produtos, novas lojas, há tambem uma função para quando uma nova loja ou produto é criada, receber por email a messagem de sucesso;

Documentação no postman Collection do postman


Preview


Funcionalidades

  • Gerenciar a criação de lojas e produtos,
    sobre a loja:

    listar todas;
    listar uma especifica;
    criar;
    atualizar;
    deletar;

    sobre os produtos:

    listar todos;
    listar um especifico;
    listar ativos;
    criar;
    atualizar;
    deletar;

  • Aqui podemos conferir o funcionamento do RabbitMQ para o gerenciamento de fila no envio de emails:

  • Aqui o MailTrap recebendo os emails após passarem pela fila do RabbitMQ:

Como Usar

  • Clone esse repositorio:
git clone https://github.com/AndreSnow/api-store.git
  • Entrar no diretorio:
cd api-store
  • Rodar o app pelo docker:
sudo su
docker-compose up -d --build
  • Necessário entrar no docker, use
docker exec -it api-store bash
  • Instalar as dependências:
composer install
  • Todas as migrations funcionam, para rodar basta estar dentro do container e digitar
php artisan migrate
  • Parar o container
docker-compose stop
  • Também é possível rodar o app pelo serve do laravel, mas será necessário ter:

    PHP >= 8.0
    MYSQL >= 8.0
    Redis
    Laravel >= 9.0

php artisan serve
  • Teste pelo postman usando a rota:
{{host}}api/store
  • É possivel testar diretamente pela aplicação, nos testes do laravel e deve retornar isso
php artisan test

  • Também acrescentei um teste na qualidade do software

./vendor/bin/phpinsights

Como Contribuir

  • De um Fork no projeto.

  • Crie uma nova branch com sua modificações:

git checkout -b my-feature
  • Salve suas configurações e crie um commit dizendo com o que você contribuiu:
git commit -m "feature: My new feature"
  • Nos envie:
git push origin my-feature

Licença

Este repositório está sob licença MIT. Você pode acessar o arquivo LICENSE para mais detalhes. 😉


Esse projeto foi desenvolvido por @André Neves.


Se isso te ajudou, dê uma ⭐, isso vai me ajudar também! 😉


Linkedin Badge