Sobre o System
Projeto educacional open-source em PHP moderno
System é um projeto educacional open-source que demonstra a construção de uma aplicação web moderna em PHP usando arquitetura MVC, boas práticas de segurança e padrões de código profissionais.
🎯 Nossa Missão
Criar uma ferramenta de aprendizado auto-explicativa onde desenvolvedores iniciantes e intermediários possam ver, tocar e entender conceitos reais de desenvolvimento web através de código funcional.
🏗️ Arquitetura MVC
O sistema segue o padrão Model-View-Controller:
app/Models/User.php
Gerencia dados e lógica de negócio. Interage com o banco de dados usando PDO.
Métodos: create(), findByEmail(), all()
views/*.twig
Templates Twig que renderizam HTML. Esta página que você está lendo!
Herança de templates + blocos
app/Controllers/
Processa requisições, chama Models e renderiza Views.
HomeController@index renderizou esta página
Fluxo completo de uma requisição:
HTTP Request (GET /about)
↓
Apache → .htaccess → public/index.php
↓
Bootstrap inicializa (carrega .env, Twig, rotas)
↓
Router encontra: ['path' => '/about', 'handler' => 'HomeController@about']
↓
HomeController@about() é executado
↓
Twig renderiza about.twig (esta página)
↓
HTML retorna ao navegador
🛠️ Stack Tecnológico
| Componente | Tecnologia | Propósito |
|---|---|---|
| Linguagem | PHP 8.3+ | Typed properties, match expressions, enums |
| Servidor Web | Apache 2.4 + php-fpm | Servir aplicação com mod_rewrite |
| Banco de Dados | MySQL 8.0 | Armazenar usuários e dados |
| Templates | Twig 3.0 | Renderização segura de HTML |
| Autoloader | Composer PSR-4 | Carregamento automático de classes |
| Config | phpdotenv | Variáveis de ambiente (.env) |
| Frontend | Bootstrap 5 | UI responsiva e moderna |
🔐 Segurança
Práticas de segurança implementadas:
- Password Hashing —
password_hash()com algoritmo bcrypt - Prepared Statements — PDO previne SQL injection
- Session Management — Validação em rotas administrativas
- Environment Variables — Credenciais fora do código-fonte
- Input Sanitization — Twig escapa automaticamente HTML
🤝 Como Contribuir
Este é um projeto educacional open-source. Contribuições são bem-vindas! Você pode:
- Reportar bugs ou sugerir melhorias via GitHub Issues
- Fazer fork do repositório e enviar Pull Requests
- Melhorar a documentação ou adicionar exemplos
- Compartilhar o projeto com outros desenvolvedores
📄 Licença
Este projeto está sob a licença MIT. Você pode usar, modificar e distribuir livremente, desde que mantenha os créditos originais.
Desenvolvido por Lucio Lemos • Versão 1.0.0 • Novembro 2025
Explore o projeto completo: