Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Polls the BicikeLJ GBFS feed every 5 minutes and appends per-station availability
to Azure Blob Storage (step 1), and rebuilds "typical availability" profiles once a
day from that history (step 2, see docs/superpowers/specs/2026-09-23-typical-availability-design.md).
• backend/ — Python package, tests and Dockerfile for the container jobs.
• frontend/ — static Mapbox web app (Vite + React + TS) that shows the typical profiles; deployed to GitHub Pages.
Commands below run from the repo root.
• infra/ — Bicep for all Azure resources (shared).
• docs/ — specs and plans.README 전문 보기 ↗Polls the BicikeLJ GBFS feed every 5 minutes and appends per-station availability
to Azure Blob Storage (step 1), and rebuilds "typical availability" profiles once a
day from that history (step 2, see docs/superpowers/specs/2026-09-23-typical-availability-design.md).
backend/ — Python package, tests and Dockerfile for the container jobs.frontend/ — static Mapbox web app (Vite + React + TS) that shows the typical profiles; deployed to GitHub Pages.
Commands below run from the repo root.infra/ — Bicep for all Azure resources (shared).docs/ — specs and plans.pip install -e "./backend[dev]"
# start Azurite for storage tests
docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite \
azurite-blob --blobHost 0.0.0.0
pytest backend -v
export AZURE_STORAGE_CONNECTION_STRING="UseDevelopmentStorage=true"
export BICIKELJ_CONTAINER=bicikelj
python -m bicikelj_log
python -m bicikelj_log.build_typical reads the last 56 local days of status/,
computes 8 profiles (Mon–Sun + holiday, 96 × 15-min slots per station) and publishes
gzipped JSON to the public container:
https://<publicStorageAccount>.blob.core.windows.net/typical/v1/meta.json
https://<publicStorageAccount>.blob.core.windows.net/typical/v1/{mon,tue,wed,thu,fri,sat,sun,holiday}.json
The exact base URL is the publicBaseUrl deployment output. In Azure it runs as
bicikelj-typical-job daily at 01:30 UTC. Trigger it manually after the first deploy:
az containerapp job start -n bicikelj-typical-job -g bicikelj-rg
After the first deploy, wait ~5 minutes before this: new role assignments take time to propagate, and an early 403 (and failure-alert email) is not a bug.
Locally (Azurite) both containers live in the dev account:
export AZURE_STORAGE_CONNECTION_STRING="UseDevelopmentStorage=true"
python -m bicikelj_log.build_typical
It exits 1 and publishes nothing until at least one full local day of data exists.
frontend/ is a static site that reads the published typical/v1/*.json and shows each
station's chance of being empty (bikes) or full (docks) for any weekday and 15-minute
slot. Live at https://bicikelj.jakas.si/. Design:
docs/superpowers/specs/2026-10-01-typical-availability-frontend-design.md.
cd frontend
npm ci
cp .env.example .env.local # then fill in both values
npm run dev # http://localhost:5173/
npm test && npm run typecheck
Before the backend has published anything, use synthetic data:
npm run fake-data
VITE_DATA_BASE_URL=/dev-data/v1/ npm run dev
The frontend workflow tests every PR and deploys main to GitHub Pages. One-time setup:
bicikelj.jakas.si,
with DNS CNAME bicikelj → jakaskerjanc.github.io; then tick Enforce HTTPS.pk.) token with URL restrictions
https://bicikelj.jakas.si/ and http://localhost:5173.MAPBOX_TOKEN = that token; repo variable DATA_BASE_URL = the
publicBaseUrl deployment output (ends in /typical/v1/).Infra is defined in infra/main.bicep and deployed via the deploy GitHub Actions
workflow (workflow_dispatch, manual trigger only — it never runs on push).
main → GitHub Actions builds and pushes the image to ghcr.io.AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_SUBSCRIPTION_ID, ALERT_EMAIL (address to notify on job failures) as
repo secrets.deploy workflow from the Actions tab (Run workflow), passing the
resource group name.az containerapp job start -n bicikelj-log-job -g bicikelj-rg.status/YYYY/MM/DD.jsonl in the storage account.A failed execution of either job (bicikelj-log-job or bicikelj-typical-job) emails
ALERT_EMAIL via an Azure Monitor alert on that job's Executions metric. Each job has
its own alert, but both notify the same action group, so no extra deploy parameters are
needed. The alerts are stateful (auto-resolve), so a sustained outage sends one email
when it fires and one when it resolves, not one per failed run.
Region defaults to francecentral: subscription policy allows only a few EU regions,
and germanywestcentral hits the Container Apps environment quota.
To preview or apply changes locally instead of via CI:
az deployment group create -g bicikelj-rg -f infra/main.bicep -p [email protected]