Como o Projeto Laravel Funciona
Nesta seção da Plataforma, detalharemos a estrutura e o funcionamento geral da aplicação Gynforce, baseada no framework Laravel 12.
Ciclo de Vida da Requisição (Request Lifecycle)
Toda interação no sistema começa em public/index.php. O kernel do Laravel carrega as configurações, provedores de serviço e avalia a requisição de acordo com os Middlewares. No Gynforce, os middlewares são fortemente utilizados para segmentar quem acessa a aplicação (ex: AcademyAdmin, StudentApproved, InstructorAuth).
Roteamento
As rotas da aplicação estão divididas para atender os diferentes portais (routes/web.php ou arquivos segmentados). O projeto tem rotas específicas para:
Admin(Controle do sistema Gynforce inteiro)Academy(Gestão local da unidade da academia)Instructor(Gestão de fichas e treinos)Student(Painel do aluno e interações com treinos/Livewire)
Controllers e Services
Em vez de possuir lógicas complexas nos Controllers, o Gynforce transfere regras de negócio para a camada Services (app/Services/).
Por exemplo, o StudentWorkoutsController delega as responsabilidades reais para o StudentWorkoutsServices. Isso mantém os controladores "magros" e focados apenas em responder à web ou redirecionar a página.
Models (Eloquent)
A persistência de dados e relacionamentos é manipulada pelos Models em app/Models/. Algumas relações notáveis:
Studentpertence a umaAcademy.Fichase relaciona comStudenteExercise(viaFichaExerciseeStudentFicha).Paymentlida com as faturas geradas e controladas através deMPagoPixServiceseAcademyPlan.
Views (Blade e Livewire)
A interface de usuário é baseada em Blade, o motor de templates do Laravel. As views do Gynforce estão categorizadas por pastas (ex: resources/views/academy, resources/views/student).
Para componentes interativos que necessitam de atualização na tela sem recarregar (ex: O acompanhamento em tempo real da execução do treino pelo aluno), o projeto utiliza Livewire, cuja lógica reside em app/Livewire/StudentTrainer.php.
Assets Front-end
A aplicação gerencia seu CSS (TailwindCSS) e JavaScript (AlpineJS) através do Vite. Os estilos e scripts são agrupados pelo Vite e renderizados rapidamente no navegador do cliente, oferecendo uma UI responsiva e moderna de forma otimizada.