Skip to content
/ Rapida Public

Sistema educacional completo para gestão de disciplinas, aulas, avaliações, notas e comunicação entre alunos, responsáveis, professores, coordenação e direção.

License

Notifications You must be signed in to change notification settings

clcmo/Rapida

Rápida: Sistema de Gerenciamento Escolar (EduSystem)

GitHub license GitHub stars GitHub forks GitHub issues GitHub donate

📋 Visão Geral

Sistema educacional completo para gestão de disciplinas, aulas, avaliações, notas e comunicação entre alunos, responsáveis, professores, coordenação e direção.

🏗️ Arquitetura

┌─────────────────────────────────────────────────────────────┐
│                     FRONTEND (React Native + Expo)          │
│                     - App Mobile Multiplataforma            │
└────────────────────────┬────────────────────────────────────┘
                         │
                         │ HTTPS/REST API
                         │
┌────────────────────────▼────────────────────────────────────┐
│                  API GATEWAY / NGINX                         │
└────────────┬───────────────────────────┬────────────────────┘
             │                           │
             │                           │
┌────────────▼──────────────┐   ┌───────▼─────────────────────┐
│   LARAVEL API (PHP 8.2+)  │   │  PYTHON ML SERVICE          │
│   - Autenticação JWT      │   │  - Análise de Desempenho    │
│   - CRUD Completo         │   │  - Predição de Notas        │
│   - Validações            │   │  - Geração de Relatórios    │
│   - Políticas de Acesso   │   │  - Dashboards Analytics     │
└────────────┬──────────────┘   └───────┬─────────────────────┘
             │                           │
             │                           │
┌────────────▼───────────────────────────▼─────────────────────┐
│                   POSTGRESQL DATABASE                         │
│                   - Dados Relacionais                         │
│                   - Migrations Versionadas                    │
└───────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────┐
│                      REDIS CACHE                              │
│                   - Cache de Sessões                          │
│                   - Cache de Queries                          │
└───────────────────────────────────────────────────────────────┘

🎯 Funcionalidades por Perfil

👨‍🎓 Aluno

  • ✅ Visualizar disciplinas matriculadas
  • ✅ Acessar conteúdos das aulas
  • ✅ Consultar calendário de eventos e provas
  • ✅ Visualizar observações gerais

👨‍👩‍👧 Responsáveis

  • ✅ Todas as funcionalidades do aluno
  • ✅ Visualizar notas detalhadas
  • ✅ Acompanhar advertências
  • ✅ Consultar suspensões
  • ✅ Verificar convocações para reuniões

👨‍🏫 Professores

  • ✅ Cadastrar e gerenciar aulas
  • ✅ Criar e editar ementas de disciplinas
  • ✅ Lançar notas dos alunos
  • ✅ Registrar observações para coordenação
  • ✅ Participar do fórum de práticas pedagógicas

👔 Coordenadores

  • ✅ Avaliar e aprovar ementas
  • ✅ Revisar planejamento de aulas
  • ✅ Analisar observações de professores
  • ✅ Encaminhar questões para direção
  • ✅ Gerar relatórios de turmas

🏛️ Direção

  • ✅ Acesso completo ao sistema
  • ✅ Dashboard executivo
  • ✅ Auditoria de movimentações
  • ✅ Relatórios gerenciais
  • ✅ Análises preditivas (ML)

🛠️ Stack Tecnológica

Backend

  • PHP 8.2+ com Laravel 11
  • PostgreSQL 16 (Banco de dados)
  • Redis (Cache e filas)

Python Microservice

  • Python 3.12+
  • FastAPI (Framework web)
  • Pandas (Análise de dados)
  • Scikit-learn (Machine Learning)
  • ReportLab / WeasyPrint (Geração de PDFs)
  • Celery (Tarefas assíncronas)

Frontend

  • React Native com Expo
  • TypeScript
  • React Navigation
  • Axios (HTTP client)
  • AsyncStorage (Armazenamento local)

DevOps

  • Docker & Docker Compose
  • Nginx (Reverse proxy)
  • GitHub Actions (CI/CD)

📁 Estrutura do Projeto

rapida/
├── backend-api/                 # Laravel API
│   ├── app/
│   │   ├── Models/
│   │   ├── Http/
│   │   │   ├── Controllers/Api/V1/
│   │   │   ├── Middleware/
│   │   │   └── Requests/
│   │   ├── Policies/
│   │   └── Services/
│   ├── database/
│   │   ├── migrations/
│   │   └── seeders/
│   ├── routes/
│   │   └── api.php
│   └── tests/
│
├── ml-service/                  # Python ML & Reports
│   ├── app/
│   │   ├── api/
│   │   ├── ml/
│   │   │   ├── models/
│   │   │   └── predictions.py
│   │   ├── reports/
│   │   │   ├── generators/
│   │   │   └── templates/
│   │   └── services/
│   ├── tests/
│   └── requirements.txt
│
├── mobile-app/                  # React Native Expo
│   ├── src/
│   │   ├── screens/
│   │   ├── components/
│   │   ├── navigation/
│   │   ├── services/
│   │   ├── hooks/
│   │   └── types/
│   ├── assets/
│   └── app.json
│
├── docker/
│   ├── nginx/
│   ├── php/
│   └── python/
│
└── docker-compose.yml

🔐 Autenticação e Autorização

  • JWT (JSON Web Tokens) para autenticação stateless
  • Role-Based Access Control (RBAC) com 5 níveis:
    • student
    • responsible
    • teacher
    • coordinator
    • director
  • Laravel Policies para autorização granular
  • Refresh Tokens para segurança

🗄️ Modelo de Dados

Entidades Principais

  • Users - Usuários base do sistema
  • Students - Alunos
  • Responsibles - Responsáveis
  • Teachers - Professores
  • Disciplines - Disciplinas
  • ClassGroups - Turmas
  • Enrollments - Matrículas
  • Lessons - Aulas
  • Assessments - Avaliações
  • Grades - Notas
  • Observations - Observações
  • Warnings - Advertências
  • Suspensions - Suspensões
  • SchoolEvents - Eventos escolares
  • Syllabuses - Ementas

🚀 Como Executar

Pré-requisitos

  • Docker & Docker Compose
  • Node.js 18+ (para o app mobile)
  • Git

Passo a Passo

# 1. Clone o repositório
git clone https://github.com/clcmo/rapida.git
cd rapida

# 2. Configure as variáveis de ambiente
cp backend-api/.env.example backend-api/.env
cp ml-service/.env.example ml-service/.env

# 3. Suba os containers
docker-compose up -d

# 4. Execute as migrations
docker-compose exec api php artisan migrate --seed

# 5. Acesse a API
# API: http://localhost:8000
# ML Service: http://localhost:8001
# Documentação API: http://localhost:8000/api/documentation

# 6. Para o app mobile
cd mobile-app
npm install
npx expo start

📊 Funcionalidades ML

Análises Implementadas

  1. Predição de Desempenho - Prevê notas futuras baseado em histórico
  2. Detecção de Risco de Evasão - Identifica alunos em risco
  3. Recomendação de Intervenções - Sugere ações pedagógicas
  4. Análise de Padrões de Notas - Identifica tendências por turma/disciplina
  5. Clustering de Alunos - Agrupa por perfil de aprendizagem

Relatórios Disponíveis

  • Boletins individuais (PDF)
  • Relatórios de turma
  • Dashboards executivos
  • Análises comparativas
  • Relatórios de frequência

🧪 Testes

# Backend (Laravel)
docker-compose exec api php artisan test

# ML Service (Python)
docker-compose exec ml-service pytest

# Frontend (React Native)
cd mobile-app && npm test

📈 Roadmap

  • V1.0 - MVP com funcionalidades básicas
  • V1.1 - Fórum de professores
  • V1.2 - Sistema de notificações push
  • V1.3 - Integração com sistemas externos
  • V2.0 - Dashboard ML avançado
  • V2.1 - App para tablets/web

🤝 Contribuindo

Contribuições são bem-vindas! Por favor, leia o CONTRIBUTING.md antes de enviar PRs.

📝 Licença

Este projeto está sob a licença MIT. Veja LICENSE para mais detalhes.

👥 Autores

  • Desenvolvedor Principal - [@clcmo]

📞 Suporte

Para suporte, entre em contato: [ola@camilaloliveira.com]

2019 - 2026. Camila L. Oliveira. Todos os direitos reservados.

About

Sistema educacional completo para gestão de disciplinas, aulas, avaliações, notas e comunicação entre alunos, responsáveis, professores, coordenação e direção.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published