python3(>= 3.8) para criar o.venvnpmpara as dependências do viewer (dentro deviewer/)- (Opcional) Supabase: defina
SUPABASE_URL,SUPABASE_ANON_KEYeSUPABASE_SERVICE_ROLE_KEYcaso queira usar uploads de analytics.
-
make install- Cria o
.venv, instalarequirements.txt(todos os pacotes Python, incluindo FastAPI/uvicorn) e tentanpm installemviewer/. Se onpmnão estiver disponível a etapa é ignorada (você pode rodarnpm installmanualmente dentro deviewer/depois).
- Cria o
-
cp backend/.env.example .env(oucp backend/.env.example backend/.envse preferir manter o arquivo dentro debackend/)- Ajuste
DATABASE_URL,VIEWER_API_PROXY_URLe outras variáveis (SUPABASE e flags) conforme sua configuração. O backend carrega.envautomaticamente; se nenhuma existir ele usa o ambiente do sistema e registra um aviso em debug. SUPABASE_ANALYTICS_UPLOAD=falsepor padrão; ative somente se tiverSUPABASE_URL+SUPABASE_ANON_KEYválidos. Sem esses dados, o backend deixa o upload de analytics desativado e registra o motivo em log.
- Ajuste
-
make backend- Inicia
uvicorn app.main:create_app --factoryem127.0.0.1:8002com reload. A variávelPYTHONPATHjá inclui o backend e o root para quecore,adapterseappsejam resolvidos corretamente.
- Inicia
-
make desktop- Executa
main.pycomVIEWER_API_PROXY_URL=http://127.0.0.1:8002e--viewer-port 8001. Ele busca dependências comopygame/midoe inicia o viewer que se conecta ao backend. - Se estiver desenvolvendo localmente, você pode habilitar
DEV_LOCAL_AUTH=trueantes demake backendpara que endpoints/v1/...aceitemX-Local-UUIDsem precisar de token. Combine isso com o viewer (que já enviaX-Local-UUIDquandoimport.meta.env.DEV) para manter o fluxo REST funcionando.
- Executa
- Se o backend precisar de dependências extras para testes (
pytest,httpxetc.), rodepip install -r backend/requirements.txt. - O checker de dependências agora recomenda o
pip install -r requirements.txtcorreto automaticamente. Basta seguir a mensagem de erro se algo faltar. - Para ignorar o viewer (modo headless) execute o binário direto após o
make install, por exemplo:VIEWER_API_PROXY_URL=http://127.0.0.1:8002 .venv/bin/python main.py --viewer-port 8001 --no-viewer
- Após
make install, executescripts/dev.shpara subiruvicornem 8002, o viewer em 8001 (comVIEWER_API_PROXY_URL=http://127.0.0.1:8002eSUPABASE_ANALYTICS_UPLOAD=false) e o Vite em 3000 em paralelo; o script encerra todos os processos quando você sai comCtrl+C.
- Backend: verifique
http://127.0.0.1:8002/v1/health(ou outro endpoint) apósmake backend. - Desktop: observe o terminal do
make desktope o viewer aberto emhttp://127.0.0.1:8001/viewer/.
A