Planificació de viatges en català
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-16 10:46:00 +02:00
Rodamon Compartir un viatge ja no penja l'app (0x8BADF00D) 2026-10-16 10:44:57 +02:00
Rodamon.xcodeproj Compilació 38 2026-10-16 10:46:00 +02:00
RodamonGiny Giny «Despeses»: el cost total d'un viatge i com quadrar-ho 2026-10-01 21:08:36 +02:00
RodamonRellotge Watch App Les còpies, el giny i el rellotge tampoc no depenen del fus 2026-09-30 21:35:55 +02:00
RodamonTests Categories «Benzinera» i «Punt de càrrega» a les parades, i «Punt de càrrega» a les despeses 2026-10-07 20:22:02 +02:00
RodamonUITests Jornada: «Parades» centrat entre les fletxes, que diuen a quin dia porten 2026-10-15 20:48:14 +02:00
.gitignore Treure el CLAUDE.md del repositori: es queda al disc, ignorat 2026-08-16 09:13:39 +02:00
BUG-FUS-HORARI.md El bug del fus horari, apuntat 2026-09-30 20:54:27 +02:00
LICENSE Rodamón: planificació de viatges en català per a iOS 2026-08-08 20:41:59 +02:00
README.md Rodamón: planificació de viatges en català per a iOS 2026-08-08 20:41:59 +02:00

Rodamón

App iOS de planificació de viatges, íntegrament en català.

Organitza un viatge dia a dia: cada jornada té les seves parades en ordre, amb hora, estona prevista i el temps de desplaçament d'una a l'altra calculat amb MapKit. Els llocs es busquen amb la mateixa cerca que fa servir Mapes, es trien per categoria o es posen tocant el mapa. Cada viatge pot tenir la seva imatge.

Els viatges se sincronitzen entre els teus dispositius amb iCloud, i se'n pot convidar altra gent amb permís d'edició o de només lectura. Quan algú canvia un viatge compartit, arriba un avís al telèfon. No hi ha cap servidor a mantenir ni cap compte d'usuari: l'autenticació és l'Apple ID del dispositiu.

Què fa

Itinerari — Un viatge és un rang de dates i els dies se'n deriven sols. Dins de cada dia, les parades van en ordre i es poden reordenar; entre cada dues hi ha el temps i la distància del tram, calculats segons com hi arribes: a peu, en cotxe, en taxi o trasllat, en transport públic, en avió o en ferri. L'app avisa si dues parades se solapen.

Llocs — Cerca per text, per categoria (allotjament, menjar, visita, natura, aeroport, estació, pàrquing, lloguer de cotxes, compres) o tocant un mapa a pantalla sencera, que posa nom al punt tot sol.

Mapa — La ruta del dia i la del viatge sencer, amb les parades numerades. Les rutes reals es dibuixen senceres; els trams sense traçat (avió, ferri, transport públic) van a guions.

Compartir — Convida qui viatgi amb tu des de la pantalla del sistema, amb permís d'edició o de només lectura. A cada parada s'hi veu qui l'ha afegida.

Configuració — Tema (sistema, fosc o clar), avisos de canvis, i un registre de diagnòstic que es pot compartir quan alguna cosa no rutlla.

Estat

Nucli v1 funcional. La compartició no s'ha pogut provar de punta a punta: necessita dos comptes d'iCloud en dos dispositius. Al simulador s'ha verificat que l'app arrenca amb els dos magatzems muntats i que sense sessió d'iCloud avisa en català en comptes de petar.

Requisits

  • iOS 26.4 o superior (només iPhone)
  • Xcode 27
  • Un compte d'iCloud al dispositiu per sincronitzar i compartir (sense compte, l'app funciona en local)

No hi ha dependències externes: tot és Cocoa (SwiftUI, Core Data, CloudKit, MapKit, CoreLocation, PhotosUI, UserNotifications).

El contenidor d'iCloud és iCloud.cat.spla.rodamon. Abans de publicar cal promoure l'esquema de CloudKit a producció des del Dashboard.

Compilar i provar

export DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer

xcodebuild -project Rodamon.xcodeproj -scheme Rodamon \
  -destination 'generic/platform=iOS Simulator' build

xcodebuild test -project Rodamon.xcodeproj -scheme Rodamon \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro'

La bateria sencera triga uns cinc minuts i mig. Els tests d'interfície no s'executen en paral·lel (ho fixa l'esquema compartit): amb quatre simuladors clonats competint per la CPU, les navegacions es passaven de temps i queien tests diferents a cada execució.

Alguns tests necessiten xarxa, perquè van contra MapKit de debò: la cerca de llocs, la cerca per categoria i el nom del punt triat al mapa.

Arguments de llançament

Només en compilacions de depuració:

  • -dadesDeMostra — sembra un viatge d'exemple a Catània amb parades reals.
  • -magatzemEnMemoria — no toca el disc ni iCloud; el fan servir els tests.
  • -senseIntro — salta la pantalla de presentació.

Llicència

GNU AGPL v3. Vegeu LICENSE.