01. Arquiteturas e Tecnologias
Este documento descreve a arquitetura do software Aurum 2.0 e as principais tecnologias utilizadas em seu desenvolvimento.
Padrão Arquitetural
A aplicação segue o padrão arquitetural MVC (Model-View-Controller), que é o padrão fundamental do framework Laravel. A estrutura do projeto é organizada da seguinte forma:
- Models: Responsáveis pela interação com o banco de dados e pela representação das regras de negócio. Estão localizados em
app/Models. - Views: Responsáveis pela camada de apresentação (a interface do usuário). Utilizam a sintaxe do Blade e estão localizadas em
resources/views. - Controllers: Atuam como intermediários, recebendo as requisições, processando os dados (com a ajuda dos Models) e enviando as respostas para as Views. Estão localizados em
app/Http/Controllers.
Tecnologias do Backend
O backend é o coração da aplicação, responsável por toda a lógica de negócio, segurança e manipulação de dados.
- Linguagem: PHP 8.2+
- Framework: Laravel 12+
- Gerenciador de Pacotes PHP: Composer
- Banco de Dados: A aplicação é compatível com MySQL, PostgreSQL e SQLite, utilizando o ORM Eloquent do Laravel para a abstração do banco.
- Autenticação: O sistema de autenticação (login, registro, recuperação de senha) é gerenciado pelo Laravel Fortify, oferecendo uma base segura e customizável.
- Servidor Web: A aplicação é projetada para rodar em servidores como Nginx ou Apache.
Tecnologias do Frontend
O frontend é responsável por tudo que o usuário vê e interage no navegador.
- Engine de Template: Blade, o motor de templates nativo do Laravel, usado para construir as views de forma dinâmica.
- Framework CSS: Tailwind CSS, um framework utility-first que permite a criação de interfaces customizadas de forma rápida e eficiente.
- JavaScript: AlpineJS, um framework reativo e declarativo que permite adicionar comportamento e interatividade diretamente no HTML.
- Build Tool: Vite, utilizado para compilar e otimizar os assets do frontend (CSS e JavaScript) de forma extremamente rápida.
- Gerenciador de Pacotes JS: NPM (Node Package Manager).
Última modificação