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.
- Bernardo Vieira Rocha
- Carlos Eduardo de Melo Sabino
- Felipe Costa Unsonst
- Rubens Dias Bicalho
- Walisson Ferreira de Carvalho
- Wladmir Cardoso Brandao
- Java 17 (Backend)
- Next.js (React) (Frontend)
- Docker e Docker Compose
- Nginx (produção)
- Certbot (produção para SSL)
Antes de iniciar, verifique se você tem instalado:
flixmate/
├── backend/
│ └── Dockerfile
│ └── src/
├── frontend/
│ └── Dockerfile
│ └── src/
├── docker-compose.dev.yml
├── docker-compose.yml
└── README.mdgit clone https://github.com/seu-usuario/flixmate.git
cd flixmatePersonalize 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_hereRenomeie o arquivo docker-compose-example.dev.yml para docker-compose.dev.yml
mv docker-compose-example.dev.yml docker-compose.dev.ymlExecute o Docker Compose:
docker compose -f docker-compose.dev.yml up --buildA aplicação será disponibilizada localmente:
- Frontend: http://localhost:3000
- Backend: http://localhost:6789
Renomeie o arquivo docker-compose-example.yml para docker-compose.yml
mv docker-compose-example.yml docker-compose.ymlAltere 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.comConfigure 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 --buildA aplicação será disponibilizada:
- Frontend: https://your-domain.com
- Backend: https://your-domain.com/api
- 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.
Este projeto é acadêmico e faz parte do Trabalho Interdisciplinar do curso de Ciência da Computação da PUC Minas.
Para dúvidas, sugestões ou contribuições: