Sistema de Gestão Escolar desenvolvido com Laravel 12 como projeto acadêmico da disciplina de PWIII.
O TeamFlow é um sistema de gestão escolar que permite o gerenciamento de alunos, professores, matérias, turmas, matrículas, notas e frequência através de uma interface moderna e responsiva.
O objetivo do projeto foi ir além do escopo inicial proposto em sala de aula, implementando recursos encontrados em sistemas acadêmicos reais.
- PHP 8+
- Laravel 12
- PostgreSQL
- Tailwind CSS
- Flux UI
- Chart.js
- Laravel Eloquent ORM
- Spatie Laravel Permission
- Login de usuários
- Controle de acesso por níveis
- Middleware de autorização
- Gerenciamento de permissões com Spatie Permission
- Administrador
- Professor
- Aluno
- Cadastro de alunos
- Cadastro de professores
- Cadastro de matérias
- Cadastro de turmas
- Matrícula de alunos
- Lançamento de notas
- Controle de frequência
- Estatísticas gerais do sistema
- Total de alunos
- Total de professores
- Total de matérias
- Total de turmas
- Gráficos utilizando Chart.js
- Registro de ações do sistema
- Histórico de atividades
| Tabela | Descrição |
|---|---|
| users | Usuários do sistema |
| roles | Perfis de acesso |
| students | Alunos |
| teachers | Professores |
| subjects | Matérias |
| school_classes | Turmas |
| enrollments | Matrículas |
| grades | Notas |
| attendances | Frequências |
| activity_logs | Histórico de ações |
Observação: durante o desenvolvimento a entidade
classesfoi substituída porschool_classespara evitar conflitos com palavras reservadas e melhorar a organização do projeto.
User
├── Student
└── Teacher
Teacher
├── Subjects
└── SchoolClasses
Student
├── Enrollments
├── Grades
└── Attendances
Subject
└── SchoolClasses
SchoolClasses
├── Enrollments
├── Grades
└── Attendances- CRUD completo de alunos
- CRUD completo de professores
- CRUD completo de matérias
- CRUD completo de turmas
- CRUD completo de matrículas
- CRUD completo de notas
- CRUD completo de frequências
- CRUD completo de logs
- Relacionamentos Eloquent
- Factories
- Seeders
- Validação de formulários
- Controle de permissões
- Dashboard com indicadores
Clone o projeto:
git clone https://github.com/andersongama-dev/teamflow.gitAcesse a pasta:
cd teamflowAtualize o Composer:
composer self-updateInstale as dependências:
composer installCopie o arquivo de ambiente:
cp .env.example .envGere a chave da aplicação:
php artisan key:generateConfigure o banco de dados no arquivo .env.
Execute as migrations:
php artisan migratePopule o banco com dados de teste:
php artisan db:seedInicie o servidor:
php artisan serveOs usuários de demonstração podem ser criados através dos Seeders configurados no projeto.
Perfis disponíveis:
- Administrador
- Professor
- Aluno
app/
├── Http/
├── Models/
├── Policies/
├── Providers/
database/
├── factories/
├── migrations/
├── seeders/
resources/
├── views/
├── css/
routes/
├── web.phpDurante o desenvolvimento foram utilizados conceitos de:
- Arquitetura MVC
- Relacionamentos de banco de dados
- Eloquent ORM
- Middleware
- Controle de acesso baseado em papéis
- Validação de dados
- Seeders e Factories
- Dashboards administrativos
- Componentização de interfaces
Este projeto é disponibilizado sob a licença MIT.
Consulte o arquivo LICENSE para mais informações.
Desenvolvido com Laravel 12.