An open API service indexing awesome lists of open source software.

https://github.com/r4mpo/perfect-laravel-base

Base Laravel SOLID: Uma estrutura Laravel organizada e escalável, seguindo os princípios de SOLID, com foco em desacoplamento e manutenção de longo prazo. Conta com autenticação JWT, DTOs, Services, Repositories, validações e testes unitários. Ideal para projetos Laravel que exigem alta qualidade e fácil expansão.
https://github.com/r4mpo/perfect-laravel-base

arquitetura jwt laravel-framework php solid swagger

Last synced: about 1 month ago
JSON representation

Base Laravel SOLID: Uma estrutura Laravel organizada e escalável, seguindo os princípios de SOLID, com foco em desacoplamento e manutenção de longo prazo. Conta com autenticação JWT, DTOs, Services, Repositories, validações e testes unitários. Ideal para projetos Laravel que exigem alta qualidade e fácil expansão.

Awesome Lists containing this project

README

          

Erick Agostinho (@r4mpo) - 2025

---

# **Base Laravel - Arquitetura SOLID**

Este repositório serve como uma **base de projeto Laravel** otimizada, que adota as melhores práticas de **arquitetura** e **desenvolvimento sustentável** , com ênfase nos princípios do **SOLID** , buscando garantir **escabilidade** , **desacoplamento** e **manutenibilidade** de longo prazo. Ele oferece uma estrutura robusta e testada, ideal para ser usada como ponto de partida em projetos Laravel que exijam alto nível de organização e extensibilidade.

## **🔍 Visão Geral da Estrutura**

O projeto é estruturado de forma a seguir padrões de arquitetura que permitem fácil integração de novos recursos e funcionalidades sem impactar negativamente o código existente. Sua arquitetura pode ser representada com os seguintes componentes principais:

### **📦 Componentes Arquiteturais:**

* **DTO (Data Transfer Objects):** Utilizado para garantir a transferência de dados de forma organizada e consistente.
* **Helpers:** Funções reutilizáveis que auxiliam no desempenho e organização do código.
* **Controllers:** Responsáveis por orquestrar as requisições e interagir com os **Services** e **Repositories**.
* **Requests:** Validação e sanitização dos dados de entrada da API, garantindo segurança e integridade.
* **Middlewares:** Responsáveis por aplicar regras de acesso, autenticação e autorização, entre outros filtros de segurança.
* **Models:** Representação das entidades no banco de dados, com métodos que ajudam na manipulação desses dados.
* **Queries:** Permite a execução de consultas SQL personalizadas e otimizadas.
* **Repositories:** Implementação do padrão de repositório, facilitando o acesso a dados, centralizando a lógica de consulta e permitindo fácil manutenção.
* **Services:** Contém a lógica de negócios, desacoplando a implementação das **Controllers**.
* **Value Objects:** Representação de objetos imutáveis, como tipos de dados ricos que devem ser usados de forma controlada e segura.
* **Interfaces:** Conjunto de padrões envolvendo parâmetros e retornos esperados em funções específicas.

### **📖 Documentação**

A documentação da API está disponível e acessível através do Swagger, que proporciona uma interface interativa para testar os endpoints da aplicação.

* **Acesse a documentação** : [http://localhost:8000/api/documentation](http://localhost:8000/api/documentation)

### **✅ Testes e Cobertura**

O projeto também possui uma cobertura de testes unitários, garantindo a funcionalidade das operações principais e proporcionando segurança contra quebras no código, principalmente em operações de inserção no banco de dados.

---

## **🚀 Recursos e Benefícios:**

* **🔒 Segurança:** Middleware de autenticação e validações de segurança de ponta.
* **⚡ Performance:** Design otimizado para alta performance, com uso de cache e queries eficientes.
* **🔄 Escalabilidade:** A arquitetura projetada para fácil expansão e adição de novas funcionalidades.
* **✅ Testabilidade:** Testes unitários completos para garantir a qualidade do código.
* **📚 Documentação Interativa:** Swagger para documentação dinâmica e fácil de utilizar.

## **⚙️ Tecnologias Utilizadas:**

* **PHP 8.2.12**
* **Laravel 12.0.1**
* **JWT Auth (para autenticação)**
* **Swagger (para documentação da API)**
* **MySQL (banco de dados)**

---

Este repositório é a escolha ideal para equipes que buscam manter o código bem estruturado e fácil de escalar à medida que o projeto cresce. Ao seguir os princípios de **SOLID** , garantimos um código limpo, legível e adaptável.