Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Real-time property management dashboard for SNS portfolio using ResMan API and Google Sheets integration.
Live Dashboard: https://sns-daily-report.vercel.app
Last Updated: November 4, 2026
View Live: Visit sns-daily-report.vercel.app
Local Development:
cd "C:\Users\ymosh\Claude\ROI\SNS Daily Report"
python generate_dashboard.py
Then open dashboard_live.html in a browser.
This dashboard provides a unified view of:
/renewals — standalone renewals analytics page. See the Renewals Dashboard section below./api/record_snapshot — daily snapshot endpoint. See the Supabase Daily Snapshot section below./api/skill — read-only skill markdown for sharing with any AI. See Supabase Daily Snapshot section below.| File | Description |
|---|---|
generate_dashboard.py | Main script - fetches data and generates HTML |
dashboard_live.html | Generated dashboard (open in browser) |
SNS_STYLEGUIDE.md | SNS design system documentation |
DEVELOPMENT.md | Technical documentation and API reference |
.github/workflows/refresh.yml | GitHub Actions - auto-refresh every 4 hours |
api/index.py | Vercel serverless function - triggers manual refresh |
api/get_leases.py | Vercel API - fetch leases for renewal letters |
api/get_charges.py | Vercel API - fetch deposit and recurring charges |
api/push_monday.py | Vercel API - push data to Monday.com |
renewal_summary.json | Current-month renewal buckets + % per property (regenerated every 4h, consumed by n8n) |
vercel.json | Vercel deployment configuration |
requirements.txt | Python dependencies |
renewal_letters.html | Renewal letter generation tool |
renewals.html | Renewals Dashboard — /renewals page (see section below) |
renewals_data.json | Baked JSON that powers renewals.html (committed by sync-renewals.yml) |
renewals_sync/ | Python scripts that pull ResMan → Sheet and Sheet → renewals_data.json |
api/get_renewals.py | Live fallback that reads the Google Sheet directly (used mid-refresh for immediate feedback) |
api/trigger_renewals_sync.py | Dispatches sync-renewals.yml from the Refresh button |
api/sync_status.py | Reports the last sync-renewals.yml run status |
api/last_sync.py | Reports the last successful run time (shown in the chip) |
https://api.myresman.comIntegrationPartnerID, APIKey, AccountID)Account/GetProperties - List all propertiesProperty/GetUnitStatus - Unit vacancy & ready status (VacancyStatus, Status fields)Leasing/GetApplicantsAndCurrentResidents - Identify eviction unitshttps://partners-api.myresman.comResMan-Account-IdGET /Leasing/Leases - Lease data with history for renewalsGET /Units/Availability - Unit vacancy, occupancy, move-out dates (primary endpoint)GET /Units - Unit details, renovation status, availableForOnlineMarketing fieldGET /WorkOrders - Open work orders and new orders in last 24hGET /Transactions/Receivables - Owed account balances as of a date (used for Receivable MTD / Del %)1D8eBjdcClYf9L4DNQg2cKDE1Wuwkc5AOSQcRCPmz18A1TF3cpVlGcllKMJnkPOB_fHmFgN-wwb1qbiJ05l8JMNU| Region | Properties |
|---|---|
| Tampa | 49thStr |
| Orlando | TV, MOC, MUSO |
| Jacksonville | AP, SJ, ROP, ORT |
| Ft. Lauderdale | EAST |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
.github/workflows/sync-renewals.yml | GitHub Actions workflow for the Renewals Dashboard refresh pipeline |
SNS-letter-logo.jpg | Self-hosted SNS logo used in the per-resident renewal letter preview |
dev_server.py | Local Python dev server that emulates Vercel routing (static files + /api/*.py handlers) |
supabase_sync.py | Maps data.json to one row per property; upserts to Supabase REST. CLI + importable. |
backfill_snapshots.py | Parses historical SNS Daily M_D_YYYY.xlsx files and upserts with source='backfill' |
query_snapshots.py | Read-only inspection of Supabase: row counts, portfolio trend, per-property deltas |
api/record_snapshot.py | Vercel POST endpoint — n8n calls this once/day at midnight ET. Fetches data.json, guards against duplicates, inserts 9 rows. |
api/skill.py | Vercel GET endpoint — serves the SNS Data Analyst Skill markdown with publishable key baked in. One URL to share with any AI. |
skills/SNS Data Analyst Skill.md | Read-only reference any AI can load to query the Supabase daily snapshots |
supabase/migrations/*.sql | DDL: table + two views + RLS + security_invoker + property_name column |
backfill/ | Drop historical xlsx files here for backfill_snapshots.py |