Skip to content

devjohnnydev/Nexus

 
 

Repository files navigation

Nexus Logo

NEXUS - Sistema de Gestão Escolar

Centralização. Eficiência. Inovação.
Sistema completo de gestão escolar desenvolvido em Django.

Python Django PostgreSQL


Funcionalidades

Aluno

  • 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

Professor

  • 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

Secretaria

  • 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

Coordenação

  • Dashboard com indicadores
  • Gestão de turmas
  • Acompanhamento de alunos e professores
  • Relatórios gerenciais
  • Gestão de comunicados
  • Calendário pedagógico

Tecnologias

  • Backend: Django 5.2
  • Banco de Dados: PostgreSQL
  • Frontend: HTML5, CSS3, JavaScript
  • API: Django REST Framework
  • Relatórios: ReportLab (PDF), OpenPyXL (Excel)

Instalação

Requisitos

  • Python 3.11+
  • PostgreSQL

Passos

  1. Clone o repositório:
git clone <url-do-repositorio>
cd nexus
  1. Instale as dependências:
pip install -r requirements.txt
  1. Configure as variáveis de ambiente:
export DATABASE_URL="postgresql://usuario:senha@host:porta/banco"
export SECRET_KEY="sua-chave-secreta"
  1. Execute as migrações:
python manage.py migrate
  1. Crie dados de teste (opcional):
python manage.py criar_dados_teste
  1. Inicie o servidor:
python manage.py runserver 0.0.0.0:5000

Credenciais de Teste

Apó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

Estrutura do Projeto

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

Modelos de Dados

Principais Entidades

  • 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

API REST

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

Segurança

  • 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

Desenvolvimento

Executar migrações

python manage.py makemigrations
python manage.py migrate

Coletar arquivos estáticos

python manage.py collectstatic

Criar superusuário

python manage.py createsuperuser

Time de Desenvolvimento

pgasaabyy
pgasaabyy
Julia
Julia Modena
Larissa
Larissa Almeida
MaviSz01
MaviSz01
Natan
Natan Sant'anna
Well
wellxsz

Desenvolvido para o Trabalho de Conclusão de Curso - Sistema de Gestão Escolar
SENAI Morvan Figueiredo - 2025

About

Trabalho de Conclusão de Curso - Sistema de Gestão Escolar Avançado

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 62.5%
  • Python 24.2%
  • CSS 11.1%
  • JavaScript 2.1%
  • Other 0.1%