Este projeto apresenta uma API REST desenvolvida em Laravel para o Adoorei Checkout, uma aplicação fictícia da Loja ABC LTDA, que tem como objetivo principal registrar vendas de celulares. Desde a fase inicial de configuração do ambiente utilizando Docker, até a implementação de funcionalidades avançadas, como testes unitários, documentação completa dos endpoints e a adoção de práticas de desenvolvimento, incluindo Clean Architecture e Conventional Commits. A robustez e confiabilidade do código são garantidas por meio da implementação de testes unitários utilizando o PHPUnit. Esses testes abrangem diversos cenários, incluindo a criação de vendas, o cancelamento e o detalhamento das mesmas. Além disso, a documentação abrangente dos endpoints contribui para uma compreensão clara e eficiente da API, facilitando tanto o desenvolvimento contínuo quanto a manutenção do sistema.
Principais Funcionalidades:
- Listagem dos produtos disponíveis no banco de dados;
- Registro de novas vendas;
- Consulta das vendas realizadas;
- Busca de informações de uma venda específica;
- Cancelamento de vendas;
- Adição de novos produtos a uma venda.
Tecnologias Empregadas:
- Laravel;
- Docker;
- PHPUnit
- Swagger Documentation.
Instruções para Execução: Certifique-se de que o Docker e o Docker Compose estejam instalados na máquina. Isso é necessário para criar e orquestrar os contêineres necessários para o projeto.
- Git: Clone o projeto através do link:
https://github.com/mrlonmra/desafio-backend-adoorei.git
- Arquivo .env: Cópie o arquivo .envcopy e renomeie para .env e faça as alterações necessárias.
cp .env.example .env
-
Docker Compose: Verifique se o arquivo docker-compose.yml está configurado corretamente, especialmente em relação aos serviços (app e mysql), portas expostas e redes.
-
Instale as dependências
composer install
- Construa os Contêineres Docker:
docker-compose build
- Inicie os Contêineres Docker:
docker-compose up -d
- Rode o Comando para gerar uma nova key
php artisan key:generate
- Rode as migrations e as seeds
php artisan migrate
php artisan db:seed
- Acesse a Aplicação: Após essas etapas, a aplicação Laravel deve estar acessível em
http://localhost:8000
- Rode os testes com PhpUnit
php artisan test
- A documentação completa dos endpoints está disponível no Swagger através do link
http://localhost:8000/api/documentation#/default/
Contribuições:
- Contribuições são incentivadas! Sinta-se à vontade para abrir problemas ou enviar solicitações de pull.
Agradecimentos:
- Este projeto foi desenvolvido como parte de um desafio técnico para o processo seletivo da Adoorei. Agradeço pela oportunidade e permaneço à disposição para esclarecimentos sobre o código.