# Catálogo Pessoal de Vídeos & Dicas Sistema PHP puro + MySQL para catalogar vídeos, artigos e anotações pessoais. ## Requisitos - PHP 8.0+ - MySQL 5.7+ / MariaDB 10.3+ - Extensão PDO + pdo_mysql habilitada ## Instalação ### 1. Banco de dados ```bash mysql -u root -p -e "CREATE DATABASE catalogo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" mysql -u root -p catalogo < catalogo_schema.sql ``` ### 2. Configurar conexão Edite `includes/db.php` com suas credenciais: ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'catalogo'); define('DB_USER', 'root'); define('DB_PASS', 'sua_senha'); ``` ### 3. Permissão de upload ```bash chmod 755 uploads/ ``` ### 4. Servidor de desenvolvimento ```bash # Na raiz do projeto: php -S localhost:8000 ``` Acesse: http://localhost:8000 ### 5. Login padrão - **E-mail:** admin@local.dev - **Senha:** admin123 > ⚠️ Troque a senha em produção! Use `password_hash('nova_senha', PASSWORD_BCRYPT)` e atualize na tabela `usuario`. --- ## Estrutura de arquivos ``` / ├── index.php # Dashboard ├── login.php # Tela de login ├── logout.php ├── assets/ │ ├── css/style.css # Estilos (tema claro/escuro) │ └── js/theme.js # Toggle de tema ├── includes/ │ ├── db.php # Conexão PDO │ ├── auth.php # Sessão e autenticação │ ├── helpers.php # Utilitários (upload, tags, CSRF...) │ └── layout.php # Header, sidebar, footer ├── pages/ │ ├── conteudo/ # CRUD de conteúdos │ │ ├── list.php │ │ ├── form.php # Criar + Editar │ │ ├── view.php │ │ └── delete.php │ ├── nota/ # CRUD de notas + upload │ │ ├── list.php │ │ ├── form.php │ │ ├── view.php │ │ └── delete.php │ └── lookup/ # CRUD genérico: Tipo, Fonte, Tag │ ├── _crud.php # Motor reutilizável │ ├── tipo.php │ ├── fonte.php │ └── tag.php └── uploads/ # Arquivos enviados (gitignore!) ``` ## Funcionalidades - ✅ Login com sessão PHP + bcrypt - ✅ CSRF em todos os formulários POST - ✅ Dashboard com estatísticas - ✅ Catálogo de conteúdos com filtros (tipo, fonte, ranking, busca) - ✅ Notas com upload de arquivo (qualquer tipo, máx. 20MB) - ✅ Tags N:N para conteúdos e notas - ✅ Ranking de 1 a 5 estrelas (interativo) - ✅ CRUD completo: Tipos, Fontes, Tags - ✅ Tema claro/escuro persistido em localStorage - ✅ Escape de output (XSS protection)