Loading repository data…
Loading repository data…
BrunoPassos279 / repository
O Freehead é um sistema web de gestão escolar desenvolvido em PHP, com o objetivo de auxiliar gestores no controle e organização das atividades administrativas de uma instituição de ensino.
O Freehead é um sistema web de gestão escolar desenvolvido em PHP, voltado para escolas de idiomas. O objetivo é centralizar todas as informações administrativas da escola em um único lugar: alunos, professores, turmas, matrículas e financeiro.
O sistema foi construído com uma arquitetura preparada para migração futura de banco de dados — hoje utiliza arquivos JSON como banco temporário, com a lógica encapsulada em repositories para que a troca por MySQL/PDO não exija reescrita das páginas.
pageAluno.php)Freehead/
│
├── actions/ → Arquivos PHP que recebem requisições (salvar, editar, excluir...)
│ ├── salvarAluno.act.php
│ ├── editarAluno.act.php
│ ├── excluirAluno.act.php
│ ├── salvarProfessor.act.php
│ ├── salvarTurma.act.php
│ ├── registrarPagamento.act.php
│ ├── login.act.php
│ ├── logout.act.php
│ └── ...
│
├── assets/
│ ├── css/
│ │ ├── root.css → Variáveis de cor, tipografia e tokens do design system
│ │ ├── global.css → Reset, estilos base, sidebar e componentes reutilizáveis
│ │ ├── modal.css → Estilos unificados de todos os modais
│ │ └── pages/ → CSS específico de cada página
│ ├── js/
│ │ ├── sidebar.js → Marca item ativo e busca inteligente de alunos
│ │ ├── modalAluno.js → Lógica do modal de alunos
│ │ ├── modalProfessor.js → Lógica do modal de professores
│ │ ├── modalTurma.js → Lógica do modal de turmas
│ │ ├── modalPagamento.js → Lógica do modal de pagamentos
│ │ └── ...
│ └── img/ → Ícones, imagens e logos do sistema
│
├── config/
│ └── database.php → Configuração de conexão com banco de dados
│
├── includes/ → Componentes PHP reutilizáveis
│ ├── sidebar.inc.php
│ ├── btn.inc.php
│ ├── input.inc.php
│ ├── auth.inc.php → Funções de sessão e autenticação
│ ├── modalAluno.inc.php
│ ├── modalProf.inc.php
│ ├── modalTurma.inc.php
│ └── modalPagamento.inc.php
│
├── pages/ → Páginas do sistema
│ ├── index.php → Login
│ ├── cadastroEscola.php → Cadastro de nova escola
│ ├── dashboard.php → Painel principal
│ ├── alunos.php → Lista de alunos
│ ├── pageAluno.php → Detalhes do aluno
│ ├── professores.php → Lista de professores
│ ├── turmas.php → Lista de turmas
│ └── financeiro.php → Controle financeiro
│
└── repositories/ → Camada de acesso a dados (preparada para MySQL)
├── AlunoRepository.php
├── ProfessorRepository.php
├── TurmaRepository.php
├── PagamentoRepository.php
├── AuthRepository.php
├── EscolaRepository.php
├── DashboardRepository.php
└── ConfiguracoesEscolaRepository.php
O sistema foi modelado com as seguintes tabelas:
| Tabela | Descrição |
|---|---|
escolas | Dados das escolas cadastradas no sistema |
idiomas | Idiomas disponíveis na plataforma |
idiomas_escolas | Relação entre escolas e os idiomas que oferecem |
niveis | Níveis de cada idioma por escola (básico, intermediário, avançado...) |
professores | Professores vinculados a uma escola |
professor_idioma | Idiomas que cada professor leciona |
alunos | Dados completos dos alunos |
turmas | Turmas com idioma, nível, professor e horário |
matriculas | Vínculo entre aluno e turma com status |
pagamentos | Registro de mensalidades e pagamentos |
aulas | Aulas realizadas ou canceladas por turma |
presenca | Presença dos alunos por aula |
Banco atual: JSON temporário (
dados.json), lido via repositories PHP. Migração: Altere apenas os repositories para usarPDO— as páginas e actions não precisam de nenhuma mudança.
Separação de responsabilidades Cada camada tem uma função clara: pages exibem, actions processam, repositories acessam dados. Nenhuma página faz consulta direta ao banco.
Componentes reutilizáveis
Botões (btn.inc.php), inputs (input.inc.php) e a sidebar (sidebar.inc.php) são incluídos via PHP em todas as páginas. Mudar um componente reflete em todo o sistema.
Sistema de modais unificado
Todos os modais (aluno, professor, turma, pagamento) compartilham um único modal.css e seguem o mesmo padrão de três estados: novo, visualizar e editar. Os dados chegam ao modal via atributos data-* do PHP, sem requisições extras ao servidor.
Design system
Cores, tipografia e espaçamentos centralizados em root.css com variáveis CSS. A paleta usa azul escuro como cor principal, laranja como destaque e branco off-white para fundos.
Preparado para MySQL A camada de repositories encapsula toda a lógica de acesso a dados. Hoje lê JSON; amanhã lê MySQL — sem tocar nas páginas ou actions.
password_hash() e verificadas com password_verify()validarSessao()htmlspecialchars() na exibiçãoPré-requisitos: PHP 8+, servidor local (XAMPP, Laragon, WAMP ou similar)
# 1. Clone o repositório
git clone https://github.com/seu-usuario/freehead.git
# 2. Coloque a pasta dentro do diretório público do seu servidor
# Ex: C:/xampp/htdocs/freehead
# 3. Acesse no navegador
http://localhost/freehead/pages/index.php
O sistema já vem com um
dados.jsonde exemplo. Nenhuma configuração de banco é necessária para rodar localmente.
Desenvolvido com 💙 por Bruno Passos, Bruno Rodrigues, Murilo e Isaac.