LetMovie é um projeto de site de gerenciamento de filmes e catálogo de streaming, focado em uma interface visual imersiva e um sistema de gerenciamento de conteúdo moderado.
A plataforma permite que usuários comuns descubram e enviem novos filmes para o catálogo, enquanto Administradores têm o poder de aprovar, rejeitar ou excluir envios para manter a qualidade do acervo.
- CRUD Completo de Filmes: Usuários podem Adicionar, Editar e Visualizar filmes.
- Sistema de Permissão Dupla: Diferenciação clara de interface e permissões entre "Usuário Normal" e "Administrador (ADM)".
- Moderação de Conteúdo: Administradores possuem um painel de "Notificações Pendentes" para Aprovar (botão verde) ou Rejeitar (botão vermelho) os envios dos usuários.
- Deleção Segura: Apenas ADMs podem ver o botão "Excluir" e devem confirmar a ação em um modal de segurança.
- Busca e Filtragem: O site conta com uma funcionalidade de busca no header e um modal de filtros avançados (por Gênero, Ano, Ator, etc.).
- Gerenciamento de Perfil: Usuários podem visualizar e editar seus perfis (simulado).
O protótipo de alta fidelidade e o guia de estilo do projeto estão disponíveis no Figma:
- Frontend: React.js
- Backend: Python (com
http.serveremysql.connector) - Banco de Dados: MySQL
- Estilização: CSS Puro e CSS Modules
Para rodar o projeto localmente, siga os três passos abaixo, na ordem:
Antes de tudo, o banco de dados precisa estar criado e populado.
- Abra seu gerenciador de banco de dados (MySQL Workbench, DBeaver, etc.).
- Execute o arquivo
LetMovie.sql(fornecido no projeto) para criar o banco de dadosLetMoviee todas as tabelas e dados necessários.
O servidor Python é responsável por se conectar ao banco de dados e fornecer a API para o frontend.
- Navegue até a pasta do backend:
cd backend - Crie e ative um ambiente virtual (virtual environment):
py -m venv env .\env\Scripts\activate
- Instale as dependências do Python:
pip install -r requirements.txt
- ** Alterar a senha**
- Abra o arquivo
server.pyem um editor de código. - Localize a linha de conexão do
mysql.connector(próximo à linha 11). - Altere a senha no parâmetro
password="root"para a senha que você usa no seu MySQL.
mydb = mysql.connector.connect( host="localhost", user="root", password="SUA_SENHA_AQUI", # Altere aqui database="LetMovie" )
- Abra o arquivo
- Inicie o servidor:
py server.py
O backend estará rodando e pronto para receber conexões em http://localhost:8000.
O frontend React consome a API do backend e renderiza a interface do usuário.
- Em um novo terminal, navegue até a pasta do frontend (pode ser a raiz do projeto):
- Instale os pacotes do Node.js:
npm install
- Inicie a aplicação React:
npm run dev
O site estará acessível no seu navegador, geralmente em http://localhost:5173.