Este projeto é um sistema de recomendação de filmes baseado nas preferências e avaliações do usuário. Ele utiliza uma combinação de avaliações de gêneros e Processamento de Linguagem Natural (NLP) para oferecer recomendações personalizadas.
-
Avaliação de Gêneros: Os usuários podem avaliar diferentes gêneros de filmes, indicando suas preferências.
-
Processamento de Avaliações: As avaliações dos usuários são processadas e armazenadas no sistema.
-
Recomendações Sem NLP: Com base nas avaliações de gêneros, o sistema gera uma lista inicial de recomendações sem usar NLP.
-
Recomendações Com NLP: Se o usuário já avaliou alguns filmes, o sistema utiliza NLP para calcular a similaridade entre sinopses de filmes avaliados e não avaliados.
-
Classificação de Recomendações: As recomendações são classificadas com base nas avaliações do usuário e na similaridade calculada pelo NLP.
-
Exibição de Recomendações Personalizadas: As recomendações personalizadas são exibidas ao usuário, considerando suas avaliações e as recomendações geradas pelo sistema.
O projeto é composto pela arquitetura MVC e alguns módulos:
-
Models: Modelos que representam entidades como usuários, filmes, gêneros, etc.
-
Controllers: Controladores responsáveis por gerenciar as interações entre o modelo e a interface do usuário.
-
Views: Visualizações relacionadas à interface do usuário.
-
Config: Configurações e utilitários para o funcionamento do sistema.
-
Configuração do Ambiente: Configure um servidor web para hospedar o projeto. Certifique-se de ter o PHP instalado.
-
Banco de Dados: Configure as informações do banco de dados no arquivo config/database.php.
-
Composer: Execute
composer installpara instalar as dependências. -
Variáveis de Ambiente: Crie um arquivo .env na raiz do projeto com as variáveis necessárias, como a chave da API do TMDB.
-
Execução: Inicie o servidor e acesse o projeto através do navegador.
public/: Contém os arquivos acessíveis publicamente, como imagens e estilos.
src/: Código-fonte PHP do projeto.
config/: Contém o arquivo de router, que faz o redirecionamento do usuário.
templates/: Arquivos de visualização HTML/PHP.
testes/: Arquivos de testes unitários.
utils/: Arquivos que auxiliam o funcionamento da aplicação.
vendor/: Dependências do Composer.
- HTML, CSS JavaScript
- PHP 8.3.1
- Apache 2.4.58
- MySQL 8.2.0
- PHPUnit 10.5.2
- PHP 8.0 ou superior.
- Composer instalado.
- Servidor web Apache configurado.
- MySQL instalado.
Aqui estão algumas capturas de tela das telas principais do sistema:





