Sistema web para auxiliar estudantes e professores a se orientarem dentro do Campus Garanhuns do IFPE
O Guia IFPE oferece consultas rápidas sobre turmas, disciplinas, professores e salas, ajudando a reduzir atrasos e otimizar o deslocamento no campus.
- Login seguro por CPF: Autenticação via CPF do aluno ou professor, garantindo acesso seguro.
- Tela inicial personalizada: Exibe dados acadêmicos do usuário (matrícula, curso, turma etc.).
- Consulta completa de aluno:
- Aula atual (disciplina, professor, horário, sala)
- Dados pessoais (CPF, e-mail, telefone, matrícula)
- Dados acadêmicos (curso e turma)
- Calendário acadêmico unificado: Exibe horários de cursos integrados, subsequentes e superiores.
- Grade horária semanal: Mostra toda a programação semanal do aluno.
- Mapa interativo do campus:
- Visualização dos blocos
- Capacidade das salas
- Status livre/ocupada
- Tipo de sala (laboratório, sala comum, etc.)
- Segurança reforçada: JWT + middlewares de proteção + controle de acesso por papéis.
- React 18 + Vite - Build rápido e moderno
- TypeScript - Tipagem estática
- TailwindCSS - Estilização
- shadcn/ui - Componentes acessíveis
- React Router - Roteamento SPA
- Node.js + Express - API REST
- MySQL 8 - Banco de dados relacional
- JWT - Autenticação segura
- bcrypt - Hash de senhas
- Docker + Docker Compose - Containerização
- Vercel - Deploy do frontend (opcional)
A forma mais fácil de rodar o projeto é usando Docker. Tudo é configurado automaticamente!
- Docker instalado
- Docker Compose instalado
git clone https://github.com/GuickerZ/GuiaIFPE.git
cd GuiaIFPE# Subir todos os containers (MySQL + Backend + Frontend)
docker-compose up -d
# Ver logs
docker-compose logs -f| Serviço | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend API | http://localhost:3001 |
| MySQL | localhost:3306 |
docker-compose down
# Para remover também os dados do banco:
docker-compose down -vSe preferir rodar sem Docker:
Instale o MySQL e crie o banco de dados:
CREATE DATABASE guia_ifpe;Execute o script scripts/init.sql para criar as tabelas e dados de exemplo.
cd backend
npm install
# Copiar e editar .env
cp ../.env.example .env
# Edite o .env com suas configurações
npm start# Na raiz do projeto
npm install
npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:3001
O banco já vem com dados de exemplo para testar:
| Tipo | CPF | Nome |
|---|---|---|
| Aluno | 123.456.789-01 |
Maria Oliveira Costa |
| Responsável | 987.654.321-00 |
Ana Costa Oliveira |
| Professor | 111.222.333-44 |
Prof. Roberto Silva |
GuiaIFPE/
├── backend/ # API Node.js
│ ├── config/ # Configuração do banco
│ ├── middleware/ # Middlewares (auth, etc)
│ ├── routes/ # Rotas da API
│ ├── server.js # Servidor Express
│ └── Dockerfile
├── src/ # Frontend React
│ ├── components/ # Componentes reutilizáveis
│ ├── pages/ # Páginas da aplicação
│ └── hooks/ # Hooks customizados
├── scripts/ # Scripts SQL
│ └── init.sql # Inicialização do banco
├── docs/ # Screenshots e documentação
├── docker-compose.yml # Orquestração Docker
└── .env.example # Exemplo de variáveis
Como o projeto é containerizado com Docker, você pode hospedá-lo facilmente em qualquer VPS ou servidor local.
- 1GB RAM (mínimo)
- Docker & Docker Compose instalados
-
Clone o repositório no servidor:
git clone https://github.com/GuickerZ/GuiaIFPE.git cd GuiaIFPE -
Configure o ambiente: Edite o
docker-compose.ymlse precisar alterar portas ou senhas. -
Inicie o serviço:
docker-compose up -d
O sistema estará rodando na porta 80 (ou a que você configurou).
Agradecimento especial ao corpo docente envolvido na avaliação e orientação do trabalho, assim como às contribuições institucionais durante o desenvolvimento do projeto.
Este projeto é licenciado sob a MIT License.







