- Dashboard com visão geral de notas e frequência
- Visualização de boletim escolar
- Consulta de frequência por disciplina
- Grade de horários
- Calendário de eventos
- Exportação de boletim em PDF
- Exportação de frequência em PDF e Excel
- Dashboard com turmas e avisos
- Lançamento de notas por turma/disciplina
- Registro de frequência/chamada
- Visualização de comunicados
- Calendário de eventos
- Dashboard com estatísticas gerais
- Gestão de alunos (cadastro, busca, filtros)
- Gestão de professores
- Gestão acadêmica (cursos, turmas, disciplinas)
- Emissão de documentos
- Calendário institucional
- Dashboard com indicadores
- Gestão de turmas
- Acompanhamento de alunos e professores
- Relatórios gerenciais
- Gestão de comunicados
- Calendário pedagógico
- Backend: Django 5.2
- Banco de Dados: PostgreSQL
- Frontend: HTML5, CSS3, JavaScript
- API: Django REST Framework
- Relatórios: ReportLab (PDF), OpenPyXL (Excel)
- Python 3.11+
- PostgreSQL
- Clone o repositório:
git clone <url-do-repositorio>
cd nexus- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente:
export DATABASE_URL="postgresql://usuario:senha@host:porta/banco"
export SECRET_KEY="sua-chave-secreta"- Execute as migrações:
python manage.py migrate- Crie dados de teste (opcional):
python manage.py criar_dados_teste- Inicie o servidor:
python manage.py runserver 0.0.0.0:5000Após executar criar_dados_teste:
| Usuário | Senha | Função |
|---|---|---|
| admin | admin123 | Administrador |
| secretaria | secre123 | Secretaria |
| coordenacao | coord123 | Coordenação |
| professor | prof123 | Professor |
| lucas.oliveira | aluno123 | Aluno |
| maria.santos | aluno123 | Aluno |
nexus/
├── escola/ # App principal
│ ├── management/ # Comandos de gerenciamento
│ ├── migrations/ # Migrações do banco
│ ├── static/escola/ # Arquivos estáticos
│ │ ├── css/ # Estilos
│ │ ├── js/ # Scripts
│ │ └── img/ # Imagens
│ ├── templates/escola/ # Templates HTML
│ ├── admin.py # Configuração do admin
│ ├── models.py # Modelos de dados
│ ├── serializers.py # Serializers da API
│ ├── urls.py # Rotas da app
│ └── views.py # Views/Controllers
├── nexus/ # Configurações do projeto
│ ├── settings.py # Configurações
│ ├── urls.py # Rotas principais
│ └── wsgi.py # Configuração WSGI
├── manage.py # CLI do Django
├── requirements.txt # Dependências
└── run.sh # Script de inicialização
- Curso: Cursos oferecidos pela instituição
- Disciplina: Disciplinas de cada curso
- Turma: Turmas com código, semestre e turno
- Professor: Professores com especialidade e vínculo
- Aluno: Alunos com matrícula e dados pessoais
- Matrícula: Vínculo aluno-turma com status
- Nota: Notas por disciplina e tipo de avaliação
- Frequência: Registro de presença por aula
- Aviso: Comunicados para turmas
- Evento: Eventos do calendário escolar
- HorarioAula: Grade de horários por turma
- Documento: Documentos emitidos
Endpoints disponíveis:
GET /api/alunos/ # Listagem de alunos
POST /api/alunos/ # Criar aluno
GET /api/notas/ # Listagem de notas
POST /api/notas/ # Criar nota- Autenticação baseada em sessão do Django
- Controle de acesso por grupos de permissão
- Proteção CSRF em todos os formulários
- Validação de permissões por view
python manage.py makemigrations
python manage.py migratepython manage.py collectstaticpython manage.py createsuperuser|
pgasaabyy |
Julia Modena |
Larissa Almeida |
MaviSz01 |
Natan Sant'anna |
wellxsz |
Desenvolvido para o Trabalho de Conclusão de Curso - Sistema de Gestão Escolar
SENAI Morvan Figueiredo - 2025
