Recommend this page to a friend! |
Classes of Matheusz Maydana | Bames | README.md | Download |
|
![]() B A M E SDescriçãoO BAMES é um projeto focado em estudos de arquitetura de software, design de sistemas e testes. Atualmente, o projeto está sendo desenvolvido com um foco específico no Brasil, e, por isso, a documentação e o desenvolvimento seguem a linguagem portuguesa. ArquiteturaO projeto segue uma arquitetura baseada em sistemas distribuídos, utilizando comunicação assíncrona. A comunicação entre os serviços é realizada por meio de mensageria, com o RabbitMQ atuando como broker. Camadas da ArquiteturaO projeto é dividido em três camadas principais: - Aplicação: Responsável pela lógica de negócio e pela interação com o usuário. - Domínio: Onde residem as regras de negócio e os agregados do sistema. - Infraestrutura: Onde ficam os detalhes de implementação, como comunicação entre serviços, persistência de dados e integração com outros sistemas. DesignO design do projeto segue os princípios do Domain Driven Design (DDD), promovendo uma separação clara de responsabilidades entre as camadas Aplicação, Domínio e Infraestrutura. Isso facilita a manutenção, escalabilidade e evolução do sistema. TestesO projeto utiliza o Pest como framework de testes, oferecendo uma sintaxe simples e intuitiva para escrever testes automatizados. Cobertura de TestesA cobertura de testes do projeto pode ser visualizada diretamente na página Coverage. Tecnologias UtilizadasO BAMES é construído utilizando as seguintes tecnologias: - PHP 8.3: Versão atual do PHP utilizada no projeto. - Docker Compose: Utilizado para orquestrar os containers e facilitar o ambiente de desenvolvimento. - PostgreSQL: Banco de dados relacional utilizado para armazenamento de dados. - Redis: Utilizado como cache e broker de mensagens. - Nginx: Servidor web utilizado para balanceamento de carga e proxy reverso. - Firebase JWT: Para autenticação e controle de acesso via tokens JWT. - RabbitMQ: Broker de mensagens utilizado para comunicação assíncrona entre os serviços. - Flutter: Framework utilizado para o desenvolvimento de aplicativos móveis. Como Rodar os Testes e Visualizar a CoberturaPara rodar os testes e verificar a cobertura, execute o seguinte comando:
Problema ComumCaso você encontre o seguinte erro:
Isso indica que o xdebug não está instalado ou configurado corretamente. Resolução
Agora, a cobertura de testes deve funcionar corretamente. Documentação das APIsAtualizando a DocumentaçãoPara atualizar a documentação das APIs, execute o comando abaixo:
Links das DocumentaçõesDependênciasDoc2PDFO projeto utiliza a ferramenta unoconv para converter arquivos DOCX em PDF. Para instalar as dependências necessárias, execute os seguintes comandos:
Considerações FinaisEsse documento tem como objetivo fornecer informações claras e diretas sobre o projeto BAMES, suas tecnologias, arquitetura e como colaborar com os testes e documentação. O projeto está em constante evolução, e qualquer contribuição é bem-vinda! |