O Nexus é um aplicativo desktop completo que fornece recomendações de filmes com base em descrições do usuário. Ele utiliza um frontend em Next.js e Electron, e um backend em Python e FastAPI com recursos de IA para identificar filmes.
- Autenticação do Usuário: Registro e login seguros para o usuário.
- Busca com IA: Busque filmes descrevendo uma cena ou o enredo, utilizando o modelo Gemini do Google para identificar o filme.
- Detalhes do Filme: Veja informações detalhadas sobre os filmes, incluindo sinopse, pôster, duração e classificação do IMDb.
- Histórico de Busca: O aplicativo salva o histórico de buscas do usuário.
- Next.js: Um framework React para construir interfaces de usuário.
- Electron: Um framework para criar aplicativos nativos com tecnologias web como JavaScript, HTML e CSS.
- Radix UI: Uma biblioteca de componentes de interface de usuário acessíveis e sem estilo.
- Tailwind CSS: Um framework CSS utilitário para desenvolvimento rápido de interfaces de usuário.
- Python: Uma linguagem de programação de alto nível e propósito geral.
- FastAPI: Um framework web moderno e rápido (de alto desempenho) para a criação de APIs com Python.
- MySQL: Um sistema de gerenciamento de banco de dados relacional de código aberto.
- Google Gemini: Um modelo de IA generativo usado para identificar filmes a partir de descrições.
- SQLAlchemy: Um conjunto de ferramentas SQL e um mapeador objeto-relacional (ORM) para Python.
- Argon2: Uma função de hash de senhas.
Antes de começar, certifique-se de ter o seguinte instalado:
- Node.js: v18.x or later
- Python: v3.9 or later
- MySQL: v8.0 or later
-
Clone o repositório:
git clone <repository-url> cd <repository-directory>
-
Backend Setup:
a. Navegue até o diretório do backend:
cd meu-app-backendb. Criar e ativar o virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
c. Instala as dependências:
pip install -r requirements.txt
d. Criar o arquivo
.enve adicione as seguintes variáveis de ambiente.:TMDB_API_KEY=<your-tmdb-api-key> GOOGLE_API_KEY=<your-google-api-key> DB_HOST=localhost DB_USER=<your-db-user> DB_PASSWORD=<your-db-password> DB_NAME=<your-db-name>
-
Frontend Setup:
a. Navegue até o diretório do frontend:
cd ../NextJs/meuappfrontendb. Instale as dependências :
npm install
-
Start o servidor backend:
- No diretório
meu-app-backend, execute:
uvicorn main:app --reload
- O Backend estará ativo em
http://localhost:8000.
- No diretório
-
Start o servidor frotend:
- No diretório
NextJs/meuappfrontend, execute:
npm run dev
- No diretório
- A aplicação irá abrir em uma nova janela.