Home - ime-usp-br/laravel_11_starter_kit GitHub Wiki
Projeto Base USP (Laravel 11)
Visão Geral do Projeto
Bem-vindo(a) ao Projeto Base USP - Laravel 11. Este projeto serve como um kit inicial (starter kit) padronizado, projetado para acelerar o desenvolvimento de novas aplicações web dentro do ecossistema da Universidade de São Paulo (USP), utilizando o framework Laravel 11.
Propósito Principal: Fornecer uma fundação robusta e pré-configurada que já incorpore as integrações e funcionalidades mais comuns exigidas no ambiente USP, permitindo que as equipes de desenvolvimento foquem na lógica de negócio específica de suas aplicações.
Principais Benefícios:
- Agilidade: Reduz significativamente o tempo gasto na configuração inicial de autenticação, tema visual e estrutura básica.
- Padronização: Promove o uso de ferramentas e padrões consistentes entre diferentes projetos desenvolvidos na USP.
- Consistência Visual: Garante que as aplicações mantenham a identidade visual da universidade.
- Melhores Práticas: Incentiva a adoção de boas práticas de desenvolvimento e segurança desde o início do projeto.
Público-Alvo: Este projeto destina-se a desenvolvedores e equipes de desenvolvimento da USP que necessitam criar novas aplicações web de forma eficiente, segura e alinhada aos sistemas e padrões institucionais.
Principais Funcionalidades Pré-Integradas
O Projeto Base USP já vem com as seguintes funcionalidades essenciais prontas ou parcialmente configuradas:
- Autenticação Híbrida:
- Login via Senha Única USP (utilizando o pacote
uspdev/senhaunica-socialite
). - Login Local com Email/Senha (para usuários externos ou usuários USP que definirem uma senha local).
- Fluxo de Registro para usuários externos e USP.
- Fluxo para usuários USP definirem uma senha local opcional.
- Verificação obrigatória de email para usuários registrados via formulário.
- Login via Senha Única USP (utilizando o pacote
- Tema Visual USP:
- Interface padronizada com o pacote
uspdev/laravel-usp-theme
.
- Interface padronizada com o pacote
- Gerenciamento de Papéis e Permissões:
- Estrutura básica utilizando o pacote
spatie/laravel-permission
. - Papéis iniciais (
admin
,usp_user
,external_user
). - Permissões baseadas em hierarquia e vínculo (via
uspdev/senhaunica-socialite
).
- Estrutura básica utilizando o pacote
- Funcionalidades Administrativas Básicas:
- Listagem de usuários cadastrados.
- Criação de usuários USP (buscando dados no Replicado USP via
uspdev/replicado
). - Criação manual de usuários (USP ou externos).
- Estrutura de Frontend:
- Configuração com Vite, Tailwind CSS e Alpine.js.
- Testes:
- Ambiente de teste otimizado (
.env.testing
). - Exemplos de testes de Feature, Unit e Browser (Dusk).
- Ambiente de teste otimizado (
Esta documentação visa guiá-lo através da instalação, configuração e utilização das funcionalidades presentes neste projeto base.