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.
  • Tema Visual USP:
    • Interface padronizada com o pacote uspdev/laravel-usp-theme.
  • 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).
  • 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).

Esta documentação visa guiá-lo através da instalação, configuração e utilização das funcionalidades presentes neste projeto base.