Cycle Tracker
Live UK bike-share availability: nearby bikes and stations, popular stations, 90-day history.
ماذا يمكنك أن تفعل مع Cycle Tracker؟
- Live bike and station stats: View availability, utilization, and capacity for each station.
- Interactive map: See station locations and bike distribution.
- Popular-station analytics: Find the most-used and highest-capacity stations.
- Modern UI: Use a responsive interface built with React, Tailwind CSS, and Radix UI.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http cycle-tracker 'https://cycle.arrakis.house/mcp'
{
"mcpServers": {
"cycle-tracker": {
"type": "http",
"url": "https://cycle.arrakis.house/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
Starling Bank Bikes Manchester
Starling Bank Bikes Manchester is a dashboard that monitors bike-sharing stations in Manchester in real time and reports analytics about them. The project includes a web frontend and a backend API.
Features
- Live bike and station stats: View availability, utilization, and capacity for each station.
- Interactive map: See station locations and bike distribution.
- Popular-station analytics: Find the most-used and highest-capacity stations.
- Modern UI: Use a responsive interface built with React, Tailwind CSS, and Radix UI.
Project structure
- bike-sharing-dashboard/ # Frontend (React, TypeScript, Vite)
├── src/
│ ├── components/
│ │ ├── dashboard/ # Dashboard features (PopularStationAnalytics, StatsCards, InteractiveMap)
│ │ ├── home/ # Home page
│ │ └── ui/ # UI primitives (Sheet, Tabs, Card, Table)
│ ├── lib/ # Utility functions
│ ├── App.css, index.css # Styles
│ └── main.tsx # App entry point
├── index.html # Root HTML
├── vite.config.ts # Vite config
└── tailwind.config.js # Tailwind config
- worker/ # Backend (Cloudflare Worker, TypeScript, Hono, D1)
├── src/
│ ├── index.ts # Hono app, CORS, static assets, cron entry
│ ├── snapshot.ts # GBFS feed -> D1 snapshot job (10-min cron)
│ └── routes/ # API routes (bikes, stations, analytics)
├── migrations/ # D1 schema migrations
└── wrangler.jsonc # Worker + D1 + cron + custom-domain config
Get started
Prerequisites
- Node.js and npm
- A Cloudflare account with Workers and D1, for deployment
Develop locally
To run the backend (Worker plus local D1), enter the following commands:
cd worker
npm install
npm run migrate:local # first time only
npx wrangler dev # API on http://localhost:8787
To run the frontend, enter the following commands:
cd bike-sharing-dashboard
npm install
npm run dev # UI on http://localhost:5173, calls the local worker
Deploy
The app runs at cycle.arrakis.house. When you push a
change to main that touches worker/ or bike-sharing-dashboard/, the
.github/workflows/deploy.yml workflow builds the frontend, applies the D1 migrations,
and runs wrangler deploy. The Worker serves the static frontend and the /api/v1 API
from the same origin. A 10-minute cron job snapshots the Manchester Beryl General
Bikeshare Feed Specification (GBFS) feed into D1.
Technologies used
- Frontend: React, TypeScript, Tailwind CSS, Vite, Radix UI
- Backend: Cloudflare Workers, Hono, D1 (SQLite), TypeScript
Author
الأسئلة الشائعة
ما هو Cycle Tracker؟
Live UK bike-share availability: nearby bikes and stations, popular stations, 90-day history.
كيف أثبّت Cycle Tracker؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http cycle-tracker 'https://cycle.arrakis.house/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Cycle Tracker إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Cycle Tracker مفتوح المصدر؟
شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.
من يصون Cycle Tracker؟
ينشره ThisisBankole. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.