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.

Princípio: "Aprender fazendo é mais efetivo que apenas ler tutoriais. Aprender lendo código que funciona é ainda melhor."

🏗️ Arquitetura MVC

O sistema segue o padrão Model-View-Controller:

Model

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()
View

views/*.twig

Templates Twig que renderizam HTML. Esta página que você está lendo!


Herança de templates + blocos
Controller

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 Hashingpassword_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