EBD Digital

Escola Bíblica Dominical

EBD Digital

Sistema completo de Escola Bíblica Dominical

"Instrui o menino no caminho em que deve andar, e até quando envelhecer não se desviará dele."

Provérbios 22:6

Visão Geral

O módulo EBD Digital é um sistema completo para gestão da Escola Bíblica Dominical, oferecendo funcionalidades modernas para professores, alunos e administradores. O sistema permite o controle total do processo educacional desde a matrícula até a emissão de certificados.

Gestão de Alunos

Cadastro, matrículas, frequência e histórico completo

Gestão de Professores

Controle de turmas, aulas e avaliações

Certificados

Emissão automática de certificados

Funcionalidades Principais

Matrícula de Alunos

Sistema completo de matrícula com dados pessoais, informações acadêmicas e histórico.

  • • Dados pessoais completos
  • • Informações de contato
  • • Histórico acadêmico
  • • Foto do aluno
  • • Status de matrícula

Gestão de Turmas

Criação e gestão de turmas com controle de capacidade e horários.

  • • Criação de turmas
  • • Controle de capacidade
  • • Horários de aula
  • • Professores responsáveis
  • • Status da turma

Lições e Conteúdo

Sistema de lições com conteúdo digital, materiais de apoio e exercícios.

  • • Conteúdo digital
  • • Materiais de apoio
  • • Exercícios práticos
  • • Recursos multimídia
  • • Progresso individual

Controle de Frequência

Sistema de controle de presença com relatórios e estatísticas.

  • • Registro de presença
  • • Relatórios de frequência
  • • Estatísticas por aluno
  • • Alertas de ausência
  • • Histórico completo

Quiz Bíblico

Sistema de avaliação com quiz bíblico interativo e gamificação.

  • • Questões bíblicas
  • • Múltipla escolha
  • • Sistema de pontuação
  • • Ranking de alunos
  • • Certificados de conquista

Certificados

Emissão automática de certificados com validação digital.

  • • Certificados automáticos
  • • Validação digital
  • • Código de verificação
  • • Download em PDF
  • • Histórico de emissão

Estrutura do Banco de Dados

Tabelas Principais

ebd_alunos

CREATE TABLE ebd_alunos (
    id BIGINT PRIMARY KEY,
    membro_id BIGINT,
    turma_id BIGINT,
    data_matricula DATE,
    status ENUM('ativo', 'inativo', 'concluido'),
    observacoes TEXT,
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

ebd_turmas

CREATE TABLE ebd_turmas (
    id BIGINT PRIMARY KEY,
    nome VARCHAR(255),
    descricao TEXT,
    capacidade INT,
    professor_id BIGINT,
    horario VARCHAR(100),
    status ENUM('ativa', 'inativa', 'concluida'),
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

ebd_aulas

CREATE TABLE ebd_aulas (
    id BIGINT PRIMARY KEY,
    turma_id BIGINT,
    titulo VARCHAR(255),
    conteudo TEXT,
    data_aula DATE,
    status ENUM('agendada', 'realizada', 'cancelada'),
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

ebd_frequencias

CREATE TABLE ebd_frequencias (
    id BIGINT PRIMARY KEY,
    aluno_id BIGINT,
    aula_id BIGINT,
    presente BOOLEAN DEFAULT FALSE,
    observacoes TEXT,
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

ebd_certificados

CREATE TABLE ebd_certificados (
    id BIGINT PRIMARY KEY,
    aluno_id BIGINT,
    turma_id BIGINT,
    codigo_verificacao VARCHAR(255),
    data_emissao DATE,
    arquivo_pdf VARCHAR(255),
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

Controllers e Rotas

Controllers Principais

Admin Controllers

  • EbdAlunoController
  • EbdTurmaController
  • EbdAulaController
  • EbdProfessorController
  • EbdCertificadoController

Member Controllers

  • EbdDashboardController
  • EbdLicaoController
  • EbdQuizController
  • EbdCertificadoController

Rotas Principais

// Rotas Admin
Route::prefix('admin/ebd')->name('admin.ebd.')->middleware(['auth', 'admin'])->group(function () {
    Route::resource('alunos', EbdAlunoController::class);
    Route::resource('turmas', EbdTurmaController::class);
    Route::resource('aulas', EbdAulaController::class);
    Route::resource('professores', EbdProfessorController::class);
    Route::resource('certificados', EbdCertificadoController::class);
});

// Rotas Member
Route::prefix('member/ebd')->name('member.ebd.')->middleware(['auth'])->group(function () {
    Route::get('dashboard', [EbdDashboardController::class, 'index'])->name('dashboard');
    Route::resource('licoes', EbdLicaoController::class);
    Route::resource('quiz', EbdQuizController::class);
    Route::get('certificados', [EbdCertificadoController::class, 'index'])->name('certificados');
});

Views e Interface

Estrutura de Views

Admin Views

  • admin/ebd/alunos/
  • admin/ebd/turmas/
  • admin/ebd/aulas/
  • admin/ebd/professores/
  • admin/ebd/certificados/

Member Views

  • member/ebd/dashboard/
  • member/ebd/licoes/
  • member/ebd/quiz/
  • member/ebd/certificados/

Exemplos de Uso

Código de Exemplo

Criar Nova Turma

// EbdTurmaController.php
public function store(Request $request)
{
    $request->validate([
        'nome' => 'required|string|max:255',
        'descricao' => 'nullable|string',
        'capacidade' => 'required|integer|min:1',
        'professor_id' => 'required|exists:users,id',
        'horario' => 'required|string'
    ]);

    $turma = EbdTurma::create([
        'nome' => $request->nome,
        'descricao' => $request->descricao,
        'capacidade' => $request->capacidade,
        'professor_id' => $request->professor_id,
        'horario' => $request->horario,
        'status' => 'ativa'
    ]);

    return redirect()->route('admin.ebd.turmas.index')
        ->with('success', 'Turma criada com sucesso!');
}

Registrar Frequência

// EbdFrequenciaController.php
public function registrarFrequencia(Request $request)
{
    $request->validate([
        'aluno_id' => 'required|exists:ebd_alunos,id',
        'aula_id' => 'required|exists:ebd_aulas,id',
        'presente' => 'required|boolean'
    ]);

    EbdFrequencia::updateOrCreate(
        [
            'aluno_id' => $request->aluno_id,
            'aula_id' => $request->aula_id
        ],
        [
            'presente' => $request->presente,
            'observacoes' => $request->observacoes
        ]
    );

    return response()->json(['success' => true]);
}

Gerar Certificado

// EbdCertificadoController.php
public function gerarCertificado(EbdAluno $aluno)
{
    $certificado = EbdCertificado::create([
        'aluno_id' => $aluno->id,
        'turma_id' => $aluno->turma_id,
        'codigo_verificacao' => Str::random(32),
        'data_emissao' => now(),
        'arquivo_pdf' => $this->gerarPDF($aluno)
    ]);

    return response()->download($certificado->arquivo_pdf);
}

Relatórios e Estatísticas

Relatórios Disponíveis

Relatório de Frequência

Estatísticas detalhadas de presença por aluno, turma e período.

  • • Frequência individual
  • • Média por turma
  • • Gráficos de tendência
  • • Exportação em Excel

Relatório de Conclusão

Alunos que concluíram cursos e certificados emitidos.

  • • Certificados emitidos
  • • Taxa de conclusão
  • • Tempo médio de curso
  • • Validação de certificados

Relatório de Desempenho

Análise de desempenho nos quiz e avaliações.

  • • Notas médias
  • • Ranking de alunos
  • • Questões mais difíceis
  • • Progresso individual

Relatório de Turmas

Informações sobre turmas, professores e capacidade.

  • • Capacidade das turmas
  • • Professores por turma
  • • Horários e locais
  • • Status das turmas

Integrações

Módulos Integrados

Gestão de Membros

Integração completa com o sistema de gestão de membros para cadastro e controle de alunos.

  • • Dados pessoais sincronizados
  • • Histórico de membro
  • • Contato e comunicação
  • • Status de membro

Sistema de Notificações

Notificações automáticas para professores, alunos e administradores.

  • • Lembretes de aula
  • • Notificações de frequência
  • • Certificados disponíveis
  • • Alertas de conclusão

Sistema de Permissões

Controle granular de acesso baseado em roles e permissões.

  • • Professores (acesso limitado)
  • • Administradores (acesso total)
  • • Alunos (acesso próprio)
  • • Coordenadores (acesso intermediário)

Sistema de Relatórios

Integração com o sistema de relatórios para análises avançadas.

  • • Relatórios consolidados
  • • Exportação de dados
  • • Gráficos interativos
  • • Dashboards personalizados