ARQUIVO README - MICROSERVIÇO FASTAPI + SVELTE
Este documento explica como configurar e executar o projeto de microserviço que integra FastAPI, Pydantic, MongoDB e as APIs externas TMDB Para verificar histórico de atualizações ver o arquivo updates.txt
================================================== I. PRÉ-REQUISITOS E CONFIGURAÇÃO INICIAL ==================================================
Você precisa das seguintes contas e ferramentas:
CONFIGURAÇÃO DO BACKEND (PYTHON / FASTAPI)
a. Ambiente Virtual: Crie e ative o ambiente virtual (ex: 'env'). (Linux/macOS): source env/bin/activate Opcional - O script install_venv.sh funciona no linux para criar o env e instalar as bibliotecas, rodar sem o sudo. (Pular estapa b. se usar o script) b. Dependências: Instale as bibliotecas listadas no 'requirements.txt'. pip install -r requirements.txt c. Arquivo .env: Crie um arquivo .env na pasta raiz do projeto com suas credenciais: TMDB_TOKEN="SEU_TMDB_API_ACCESS_TOKEN_AQUI" MONGO_URI="SUA_STRING_DE_CONEXAO_DO_MONGODB_AQUI"
CONFIGURAÇÃO DO MONGODB (ATLAS)
a. Autorização de IP: Acesse o Dashboard do MongoDB Atlas, vá em 'Security' -> 'Network Access'. b. Adicione seu IP: Adicione o seu endereço IP público atual à lista de acesso para permitir que o backend se conecte.
CONFIGURAÇÃO DO FRONTEND (SVELTE)
a. Módulos: Navegue até a pasta do frontend no terminal e instale os módulos Node.js. npm install
================================================== II. EXECUÇÃO DAS APLICAÇÕES ==================================================
INICIAR BACKEND (FASTAPI) Rode este comando na raiz do projeto (com o ambiente Python ativado): uvicorn main:app --reload
INICIAR FRONTEND (SVELTE) Rode esses comandos dentro da pasta do frontend: npm i npm run dev
================================================== III. ESTRUTURA E MICROSERVIÇOS ==================================================
O backend segue o padrão MVCR (Model-View-Controller-Repository).
CAMADAS DO BACKEND:
PRINCIPAIS ENDPOINTS:
FRONTEND (SVELTE):
O frontend utiliza dois componentes principais para exibição de favoritos: