No description
  • PHP 91.7%
  • JavaScript 6%
  • Dockerfile 1.2%
  • HTML 1%
  • Shell 0.1%
Find a file
2026-09-23 11:09:07 +00:00
admin Initial commit 2026-09-23 07:40:43 -03:00
assets Initial commit 2026-09-23 07:40:43 -03:00
config Initial commit 2026-09-23 07:40:43 -03:00
database Initial commit 2026-09-23 07:40:43 -03:00
divulgacao Initial commit 2026-09-23 07:40:43 -03:00
docs Initial commit 2026-09-23 07:40:43 -03:00
includes Initial commit 2026-09-23 07:40:43 -03:00
uploads Initial commit 2026-09-23 07:40:43 -03:00
.dockerignore Initial commit 2026-09-23 07:40:43 -03:00
.htaccess Initial commit 2026-09-23 07:40:43 -03:00
404.php Initial commit 2026-09-23 07:40:43 -03:00
ATUALIZACAO.txt Initial commit 2026-09-23 07:40:43 -03:00
cadastro.php Initial commit 2026-09-23 07:40:43 -03:00
COMO_ABRIR_NO_XAMPP.txt Initial commit 2026-09-23 07:40:43 -03:00
compose.yaml Update compose.yaml 2026-09-23 11:09:07 +00:00
configuracoes.php Initial commit 2026-09-23 07:40:43 -03:00
CORRECAO_DOCKER.md Initial commit 2026-09-23 07:40:43 -03:00
creditos.php Initial commit 2026-09-23 07:40:43 -03:00
diagnostico.php Initial commit 2026-09-23 07:40:43 -03:00
docker-entrypoint-etecbox.sh Initial commit 2026-09-23 07:40:43 -03:00
docker-init.php Initial commit 2026-09-23 07:40:43 -03:00
Dockerfile Initial commit 2026-09-23 07:40:43 -03:00
editar_perfil.php Initial commit 2026-09-23 07:40:43 -03:00
editar_video.php Initial commit 2026-09-23 07:40:43 -03:00
historico.php Initial commit 2026-09-23 07:40:43 -03:00
index.php Initial commit 2026-09-23 07:40:43 -03:00
inscricao.php Initial commit 2026-09-23 07:40:43 -03:00
LEIA_PRIMEIRO.txt Initial commit 2026-09-23 07:40:43 -03:00
login.php Initial commit 2026-09-23 07:40:43 -03:00
logout.php Initial commit 2026-09-23 07:40:43 -03:00
meus_videos.php Initial commit 2026-09-23 07:40:43 -03:00
perfil.php Initial commit 2026-09-23 07:40:43 -03:00
preview.html Initial commit 2026-09-23 07:40:43 -03:00
RASTREABILIDADE.md Initial commit 2026-09-23 07:40:43 -03:00
README.md Initial commit 2026-09-23 07:40:43 -03:00
remover_video.php Initial commit 2026-09-23 07:40:43 -03:00
setup.php Initial commit 2026-09-23 07:40:43 -03:00
sobre.php Initial commit 2026-09-23 07:40:43 -03:00
upload.php Initial commit 2026-09-23 07:40:43 -03:00
VERIFICACAO.txt Initial commit 2026-09-23 07:40:43 -03:00
video.php Initial commit 2026-09-23 07:40:43 -03:00

EtecBox — Atualização 2.0

A EtecBox é uma plataforma escolar de streaming de vídeos criada para reunir trabalhos, apresentações, materiais de estudo e projetos da ETEC.

Leia ATUALIZACAO.txt antes de atualizar uma instalação existente.

Tecnologias

  • PHP 8+
  • MySQL ou MariaDB
  • HTML5
  • CSS3
  • JavaScript simples
  • HTML5 Video

Funcionalidades implementadas

  • Cadastro de usuário
  • Login e logout
  • E-mail único
  • Perfil/canal
  • Edição de nome e foto
  • Upload de vídeo
  • Upload de thumbnail
  • Detecção automática de duração (FFprobe no servidor quando disponível; navegador como fallback)
  • Feed de vídeos com busca por título/canal/categoria, filtros, ordenação e paginação
  • Player HTML5
  • Visualizações
  • Histórico
  • Inscrição/cancelamento
  • Gerenciamento dos próprios vídeos
  • Edição de título, categoria e thumbnail
  • Remoção lógica de vídeo
  • Tema claro/escuro persistido no banco
  • Painel administrativo
  • Listagem de usuários
  • Moderação de vídeos
  • Validações no servidor
  • Prepared statements
  • password_hash/password_verify
  • CSRF
  • Interface responsiva e acessível

Instalação mais fácil (XAMPP)

  1. Instale e abra o XAMPP.
  2. Inicie Apache e MySQL.
  3. Copie a pasta etecbox para: C:\xampp\htdocs\etecbox
  4. Abra no navegador: http://localhost/etecbox/setup.php
  5. Use:
    • Host: 127.0.0.1
    • Porta: 3306
    • Banco: etecbox
    • Usuário: root
    • Senha: deixe vazia no XAMPP padrão
  6. Clique em Criar banco e instalar.
  7. Abra: http://localhost/etecbox/

Instalação por phpMyAdmin

Se preferir:

  1. Abra phpMyAdmin.
  2. Importe database/etecbox.sql.
  3. Confira config/config.php.
  4. Abra a aplicação.

Contas de demonstração

Administrador:

  • E-mail: admin@etecbox.local
  • Senha: admin123

Aluno:

  • E-mail: aluno@etecbox.local
  • Senha: etecbox123

Ana (conta fictícia):

  • E-mail: ana@etecbox.local
  • Senha: etecbox123

Vídeos de demonstração

O pacote inclui seis clipes educativos originais de 36 segundos em assets/demo, com capas e identificação de demonstração. Instalações novas recebem os exemplos pelo seed. Em uma instalação existente, use Administração > Demonstrações; executar novamente não duplica os exemplos. Os clipes antigos em uploads/videos foram preservados para compatibilidade.

Interface e identificação

  • Sobre e Créditos acessíveis no menu lateral.
  • Nomes da equipe configuráveis em config/projeto.php.
  • Logo em SVG e PNG, marca horizontal e banner em assets/img.
  • Material para Instagram em divulgacao.
  • Prévia de tema antes de salvar.
  • Foto de perfil contida por CSS; PHP/GD faz recorte central de 512 × 512 quando disponível.

Uploads

O PHP/Apache precisa ter permissão de escrita em:

  • uploads/videos
  • uploads/thumbnails
  • uploads/perfis

No XAMPP/Windows isso normalmente funciona sem configuração extra.

Limites

A aplicação aceita:

  • Vídeos MP4, WebM e OGG
  • Thumbnails/fotos JPG, PNG e WebP
  • Até 500 MB por vídeo na aplicação
  • Até 5 MB por imagem

Para arquivos grandes, o php.ini também precisa permitir o tamanho desejado:

  • upload_max_filesize
  • post_max_size

Após alterar o php.ini, reinicie o Apache.

Duração do vídeo

A aplicação tenta detectar a duração de duas formas:

  1. FFprobe/FFmpeg no servidor, se instalado.
  2. Metadata do <video> no navegador, automaticamente, antes do envio.

Escopo

O sistema segue a documentação escolar da EtecBox. Comentários, curtidas, notificações, vídeos privados, múltiplas resoluções, aplicativo móvel e algoritmos avançados de recomendação permanecem fora desta primeira versão.

Verificação desta atualização

Consulte VERIFICACAO.txt para saber quais fluxos foram efetivamente verificados e os limites do ambiente de teste.