2026-06-04 00:53:49 -03:00
2026-06-04 00:53:49 -03:00
2026-06-03 15:42:50 -03:00
2026-06-03 15:42:50 -03:00
2026-06-03 15:42:50 -03:00

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

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:

define('DB_HOST', 'localhost');
define('DB_NAME', 'catalogo');
define('DB_USER', 'root');
define('DB_PASS', 'sua_senha');

3. Permissão de upload

chmod 755 uploads/

4. Servidor de desenvolvimento

# Na raiz do projeto:
php -S localhost:8000

Acesse: http://localhost:8000

5. Login padrão

⚠️ 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)
Description
No description provided
Readme 264 KiB
Languages
Dockerfile 100%