Skip to content

Projeto acadêmico da disciplina de Programação Web Frontend do SENAI Roberto Mange, orientado pela prof. Mariany Morais. O objetivo foi construir um web server full-stack (React + Python + MySQL) do zero, focado nos fundamentos de HTTP, criação de API RESTful e operações CRUD.

Notifications You must be signed in to change notification settings

AkiraSunsets/LetMovie

Repository files navigation

🎬 LetMovie

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.

🚀 Funcionalidades Principais

  • 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).

🎨 Design (Figma)

O protótipo de alta fidelidade e o guia de estilo do projeto estão disponíveis no Figma:

💻 Tecnologias Utilizadas

  • Frontend: React.js
  • Backend: Python (com http.server e mysql.connector)
  • Banco de Dados: MySQL
  • Estilização: CSS Puro e CSS Modules

🔧 Instalação e Execução

Para rodar o projeto localmente, siga os três passos abaixo, na ordem:

1. Banco de Dados (MySQL)

Antes de tudo, o banco de dados precisa estar criado e populado.

  1. Abra seu gerenciador de banco de dados (MySQL Workbench, DBeaver, etc.).
  2. Execute o arquivo LetMovie.sql (fornecido no projeto) para criar o banco de dados LetMovie e todas as tabelas e dados necessários.

2. Backend (Python)

O servidor Python é responsável por se conectar ao banco de dados e fornecer a API para o frontend.

  1. Navegue até a pasta do backend:
    cd backend
  2. Crie e ative um ambiente virtual (virtual environment):
    py -m venv env
    .\env\Scripts\activate
  3. Instale as dependências do Python:
    pip install -r requirements.txt
  4. ** Alterar a senha**
    • Abra o arquivo server.py em 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"
    )
  5. Inicie o servidor:
    py server.py

O backend estará rodando e pronto para receber conexões em http://localhost:8000.

3. Frontend (React)

O frontend React consome a API do backend e renderiza a interface do usuário.

  1. Em um novo terminal, navegue até a pasta do frontend (pode ser a raiz do projeto):
  2. Instale os pacotes do Node.js:
    npm install
  3. Inicie a aplicação React:
    npm run dev

O site estará acessível no seu navegador, geralmente em http://localhost:5173.

About

Projeto acadêmico da disciplina de Programação Web Frontend do SENAI Roberto Mange, orientado pela prof. Mariany Morais. O objetivo foi construir um web server full-stack (React + Python + MySQL) do zero, focado nos fundamentos de HTTP, criação de API RESTful e operações CRUD.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •