Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Estima el valor de tu propiedad basado en datos reales de mercado. Sin registros, sin esperas.
Translation pending
FinancePython · TypeScriptGitHub @gisellesand-cmdOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
KOKO MLS — API de Valuación de Propiedades API de valuación automatizada de inmuebles en México. Calcula precios estimados de propiedades a partir de comparables obtenidos de portales inmobiliarios (Vivanuncios) y ajusta por tipo de cambio usando el SIE de Banxico. Expone endpoints REST para consultar valuaciones, comparables y métricas de mercado. Stack • Python 3.11, FastAPI, asyncpg • Postgres 15 (con migraciones Alembic) • Redis 7 (rate limit + cache) • Scrapers: Vivanuncios (cada 6h), Banxico SIE (FX diario) • Deploy: Fly.io (Querétaro) Requisitos: Docker Desktop, make, git.Read the full README ↗
API de valuación automatizada de inmuebles en México. Calcula precios estimados de propiedades a partir de comparables obtenidos de portales inmobiliarios (Vivanuncios) y ajusta por tipo de cambio usando el SIE de Banxico. Expone endpoints REST para consultar valuaciones, comparables y métricas de mercado.
Requisitos: Docker Desktop, make, git.
Pasos:
cp .env.example .env.local y edita lo necesario (al menos BANXICO_API_TOKEN).make dev (levanta api + postgres + redis + scrapers-worker en docker-compose).make migrate para aplicar migraciones, make seed para datos de referencia (catálogos de colonias, tipos de propiedad, FX inicial).Para detener el stack: make dev-down. Para limpiar volúmenes (destructivo): make dev-clean.
Todas las variables viven en .env.example. En local se cargan desde .env.local; en producción se setean como Fly secrets.
| Variable | Descripción | Default | Requerida en prod |
|---|---|---|---|
ENVIRONMENT | Entorno de ejecución (local, staging, production). | local | Sí |
LOG_LEVEL | Nivel de logging (DEBUG, INFO, WARNING, ERROR). | INFO | Sí |
DATABASE_URL | DSN de Postgres (postgresql+asyncpg://user:pass@host:5432/db). | postgresql+asyncpg://koko:koko@postgres:5432/koko_mls | Sí (inyectada por Fly Postgres) |
REDIS_URL | URL de Redis (redis://host:6379/0). | redis://redis:6379/0 | Sí |
CORS_ORIGINS | Lista de orígenes permitidos, separados por coma. | http://localhost:3000 | Sí |
BANXICO_API_TOKEN | Token del SIE de Banxico para consultar FX. | — | Sí |
VIVANUNCIOS_RATE_LIMIT_RPS | Requests por segundo contra Vivanuncios. | 0.5 | Sí |
SCRAPER_INTERVAL_HOURS | Frecuencia del scraper de comparables. | 6 | Sí |
SENTRY_DSN | DSN de Sentry para reporte de errores. | — | Recomendada |
FLY_API_TOKEN | Token de Fly.io para deploys desde CI. | — | Solo CI |
BACKUP_S3_BUCKET | Bucket S3 destino de backups de Postgres. | — | Sí (en scrapers) |
AWS_ACCESS_KEY_ID | Credencial IAM para subir backups a S3. | — | Sí (en scrapers) |
AWS_SECRET_ACCESS_KEY | Secret de la credencial IAM. | — | Sí (en scrapers) |
AWS_REGION | Región AWS del bucket de backups. | us-east-1 | Sí (en scrapers) |
make migrate-new MSG="add comparables index" → corre alembic revision --autogenerate -m "...".make migrate.make migrate-down.release_command en fly.toml, que invoca infra/migrate.sh antes de promover la nueva versión.Una sola vez (setup inicial):
fly auth login
fly apps create koko-valuation-api --org koko
fly apps create koko-valuation-scrapers --org koko
fly postgres create --name koko-mls-db --region qro
fly redis create --name koko-mls-redis --region qro
fly postgres attach koko-mls-db --app koko-valuation-api
fly secrets set --app koko-valuation-api BANXICO_API_TOKEN=... SENTRY_DSN=... CORS_ORIGINS=... REDIS_URL=...
fly secrets set --app koko-valuation-scrapers (mismas)
fly volumes create koko_api_data --region qro --size 1 --app koko-valuation-api
En cada PR mergeado a main, GitHub Actions corre fly deploy automáticamente (workflow .github/workflows/ci.yml).
Deploy manual: make deploy (despliega API + scrapers). Para uno solo: make deploy-api o make deploy-scrapers.
fly secrets set BANXICO_API_TOKEN=... --app koko-valuation-api
fly secrets set BANXICO_API_TOKEN=... --app koko-valuation-scrapers
fly secrets set SENTRY_DSN=... --app koko-valuation-api.fly secrets set AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... --app koko-valuation-scrapers
fly deploy para forzar reinicio (o fly machine restart).make logs para local, make logs-prod o fly logs --app koko-valuation-api para producción./metrics (Fly los scrapea automáticamente si la sección [metrics] está en fly.toml).SENTRY_DSN.monitoring/grafana-dashboard.json (importar a tu instancia de Grafana).infra/backup.sh corre semanal vía cron en koko-valuation-scrapers (configurado en infra/crontab) y sube un dump de Postgres a S3 (BACKUP_S3_BUCKET).make backup (requiere AWS creds en .env.local)..
├── api/ # FastAPI app (routers, schemas, servicios, deps)
├── db/ # Modelos SQLAlchemy + migraciones Alembic
│ └── alembic/
├── scrapers/ # Workers de Vivanuncios y Banxico
├── tests/ # Pytest (unit + integración)
├── infra/ # Scripts de migrate, seed, backup, crontab
├── monitoring/ # Dashboards Grafana, reglas Prometheus
├── docker-compose.yml # Stack local
├── Dockerfile # Imagen producción (api + scrapers)
├── fly.toml # Config Fly para API
├── fly-scrapers.toml # Config Fly para workers de scrapers
├── .env.example # Plantilla de variables
└── Makefile # Tareas comunes
fly logs --app koko-valuation-api. Suele ser una migración con conflict. Para revertir la última revisión: alembic downgrade -1.VIVANUNCIOS_RATE_LIMIT_RPS (default 0.5 req/s). Si seguís bloqueado, esperá ~30min antes de reintentar.make seed haya corrido y que los scrapers hayan ejecutado al menos un ciclo (make logs-scrapers).BANXICO_API_TOKEN; el scraper de Banxico corre diario y cachea el resultado en Redis.Propietario — KOKO. Todos los derechos reservados.