尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證🚍📍 els busos urbans de lleida en directe.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
els busos urbans de lleida, en directe i sobre el mapa. el web oficial de moventis es consulta gairebé sempre des del mòbil, dret a la parada, i des d'allà costa de fer servir. aquí tries les línies que t'interessen, toques la parada i veus quan arriba el bus. les dades són les mateixes: surten de l'api pública de moventis. les dades arriben per dos camins amb ritmes molt diferents.檢視完整 README ↗
els busos urbans de lleida, en directe i sobre el mapa.
moventis-lleida.joeltaylor.business
el web oficial de moventis es consulta gairebé sempre des del mòbil, dret a la parada, i des d'allà costa de fer servir. aquí tries les línies que t'interessen, toques la parada i veus quan arriba el bus. les dades són les mateixes: surten de l'api pública de moventis.
| tries línies a la tira de dalt i el mapa es queda amb les seves parades. | la xarxa sencera, amb el color que després identifica cada línia al mapa. |
| on ets ara. de prop, cada parada porta quant falta per al pròxim bus. | arrapat a baix: el nom i el pròxim bus de cada línia, i el mapa encara es fa servir. |
| a mitja alçada hi caben les parades veïnes de cada línia i què vol dir cada hora. | obert del tot: una targeta per bus, amb el compte enrere i l'hora d'arribada. |
les dades arriben per dos camins amb ritmes molt diferents.
línies, parades i dies de servei. apps/scraper les descobreix cada nit a les 03:00 i les desa a postgresql. el web les llegeix d'allà amb una cache d'una setmana, així que el mapa es dibuixa sense tocar moventis.
arribades. es demanen a moventis en el moment que obres una parada i no es guarden enlloc. cada arribada ve marcada com a hora real (un desplaçament, 5 min 30 s) o com a hora d'horari (un rellotge, 14:35), i totes dues es normalitzen a Date. moventis parla sempre en hora de lleida i els servidors van en utc, de manera que la conversió passa per zoned-time.ts i mai per setHours.
quatre coses que no es veuen a la interfície:
▲ +2 min)./?lines=1,4&stop=10211) amb els identificadors públics de moventis, no amb els interns, de manera que un enllaç compartit sobreviu a una reconstrucció de la base de dades.tot això s'apaga des de la configuració, que es desa al dispositiu i no demana cap compte.
| ruta | què hi ha |
|---|---|
apps/web | next.js 15: el mapa, el calaix de parada i la configuració |
apps/scraper | la sincronització nocturna de línies, parades i calendari |
apps/expo | app react native, encara molt inicial |
packages/api | routers trpc i tota la lògica |
packages/db | client i esquema de prisma |
packages/shared | tipus, esquemes zod, constants i geometria |
tooling/* | configuració compartida d'eslint i typescript |
cal node 22 (.nvmrc), pnpm 9 i una base de dades postgresql. docker-compose.dev.yml en puja una de local si no en tens.
pnpm install --frozen-lockfile
cp .env.example .env # DATABASE_URL i les claus de google maps
pnpm --filter @moventis/db db:push
pnpm --filter @moventis/scraper sync:dev # omple la base de dades, una vegada
pnpm dev:web
les variables van totes en un sol .env a l'arrel. el map id de google demana un parell d'estils, clar i fosc, associats des de la consola; .env.example i map-styles/README.md expliquen la part que falla en silenci si te la deixes.
pnpm dev # totes les apps
pnpm build
pnpm lint
pnpm typecheck
pnpm test # determinista, sense xarxa ni base de dades
pnpm test:live # opcional, contra l'api real de moventis
fusionar a main és l'únic camí a producció. ci construeix les dues imatges, les puja a ghcr i avisa coolify, que se les baixa i les canvia. al servidor no s'hi compila res, i docker-compose.yml no pot guanyar mai una clau build:. el procediment i la marxa enrere són a docs/deployment.md.
CLAUDE.md (i el seu mirall AGENTS.md): l'arquitectura llarga i les trampes que ja han picat alguna vegada.CONTRIBUTING.md: com es treballa en aquest repositori.DESIGN.md i PRODUCT.md: els criteris visuals i de producte.