Skip to content

rubensbkl/Flixmate

Repository files navigation

🎥 Flixmate

O Flixmate é uma plataforma inteligente de recomendação de filmes, que utiliza Inteligência Artificial para sugerir títulos personalizados com base nas preferências e avaliações dos usuários. A aplicação combina um backend robusto em Java, um frontend dinâmico em Next.js e uma infraestrutura moderna baseada em Docker, garantindo fácil instalação e execução tanto em ambientes de desenvolvimento quanto em produção.

👥 Alunos integrantes da equipe

  • Bernardo Vieira Rocha
  • Carlos Eduardo de Melo Sabino
  • Felipe Costa Unsonst
  • Rubens Dias Bicalho

🎓 Professores responsáveis

  • Walisson Ferreira de Carvalho
  • Wladmir Cardoso Brandao

🛠️ Tecnologias utilizadas

  • Java 17 (Backend)
  • Next.js (React) (Frontend)
  • Docker e Docker Compose
  • Nginx (produção)
  • Certbot (produção para SSL)

✅ Requisitos

Antes de iniciar, verifique se você tem instalado:


📐 Arquitetura do Projeto

flixmate/
├── backend/
│ └── Dockerfile
│ └── src/
├── frontend/
│ └── Dockerfile
│ └── src/
├── docker-compose.dev.yml
├── docker-compose.yml
└── README.md

📦 Como rodar o projeto

1️⃣ Clonar o repositório

git clone https://github.com/seu-usuario/flixmate.git
cd flixmate

2️⃣ Configurar variáveis de ambiente

Personalize as environment keys no arquivo docker-compose.dev.yml ou docker-compose.yml conforme necessário. Exemplo:

ENV=dev || production
PORT=6789
DB_HOST=your_db_host_here
DB_NAME=your_db_name_here
DB_PORT=5432
DB_USER=your_db_user_here
DB_PASSWORD=your_db_password_here
JWT_SECRET=your_jwt_secret_here
TMDB_API_KEY=your_tmdb_api_key_here
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint_here
AZURE_OPENAI_API_KEY=your_azure_openai_api_key_here
AZURE_OPENAI_DEPLOYMENT_NAME=your_azure_openai_deployment_name_here

3️⃣ Rodar no ambiente de desenvolvimento

Renomeie o arquivo docker-compose-example.dev.yml para docker-compose.dev.yml

mv docker-compose-example.dev.yml docker-compose.dev.yml

Execute o Docker Compose:

docker compose -f docker-compose.dev.yml up --build

A aplicação será disponibilizada localmente:

4️⃣ Rodar no ambiente de produção

Renomeie o arquivo docker-compose-example.yml para docker-compose.yml

mv docker-compose-example.yml docker-compose.yml

Altere a variável de ambiente NEXT_PUBLIC_API_URL em docker-compose.yml para o seu domínio

NEXT_PUBLIC_API_URL=https://your-domain.com

Configure o Nginx e o Certbot para utilizar o seu domínio e DNS apontar para um servidor com proxy reverso e certificado SSL automático.

Execute o Docker Compose:

docker compose -f docker-compose.yml up --build

A aplicação será disponibilizada:

📌 Notas

  • Certifique-se de que as portas utilizadas (3000, 6789, 5432, 80, 443) estejam liberadas.
  • Para usar o ambiente de produção, é necessário configurar corretamente o domínio e acesso root para o Certbot emitir certificados.

📃 Licença

Este projeto é acadêmico e faz parte do Trabalho Interdisciplinar do curso de Ciência da Computação da PUC Minas.

📞 Contato

Para dúvidas, sugestões ou contribuições:

About

Uma aplicação web para recomendação e descoberta de filmes.

Resources

Stars

Watchers

Forks

Contributors