Como digitalizei o recebimento de documentos de estágios e estadias universitárias com Laravel
Sistema de gestão documental universitária · Função: Desenvolvedor Full Stack (Laravel) · Equipe de desenvolvimento · Metodologia ágil
Resumo
Desenvolvi, junto com a equipe, um sistema para que os estudantes enviassem os documentos de seus estágios e estadias, e para que os administradores os revisassem e acompanhassem por turma e por curso. O sistema precisava estar pronto antes do fechamento do semestre e suportar o envio simultâneo de 300 alunos.
100%
Sistema entregue antes do fechamento do semestre
500
Alunos de 4 cursos usando o sistema
300
Envios simultâneos de arquivos suportados
Banco de dados e backend
- Projetei e otimizei consultas SQL e os relacionamentos do banco de dados para suportar o envio simultâneo de arquivos durante o fechamento do semestre.
- Estruturei a lógica de negócio em serviços reutilizáveis usando o contêiner de serviços do Laravel e a programação orientada a objetos.
- Validei o tipo, o tamanho e o formato dos arquivos com Form Requests antes de armazená-los.
- Usei as collections do Laravel para filtrar e agrupar as informações por turma, curso e status.
- Padronizei as respostas do backend usando os resources da API.
Segurança e permissões
- Implementei a autenticação com JWT e os middlewares para proteger as rotas.
- Configurei um controle de acesso baseado em papéis (RBAC) com políticas do Laravel, para que cada aluno acessasse apenas seus próprios documentos e os administradores gerenciassem os de sua área através dos mesmos endpoints.
Funcionalidades
- Desenvolvi os formulários de envio de documentos para os estudantes.
- Construí o CRUD de listas de coleta, com ordenação e filtros avançados por turma e curso.
- Implementei o fluxo de status de cada documento (pendente, em revisão, aprovado, rejeitado) com respostas do administrador ao aluno.
- Desenvolvi os lembretes para que os alunos enviassem seus documentos a tempo, por e-mail, com notificações programadas.
Qualidade
- Criei testes unitários com PHPUnit e especificações de comportamento com PhpSpec.
- Apliquei princípios de Clean Code para que o sistema fosse sustentável em futuros semestres.
