Hasi proiektu bat
Kasu azterketa / 04

Can I Ride?

Ireki aplikazioa eta pantaila osoa berde, anbar edo gorri jartzen da irteteko asmoa duzun ordurako. Epai-motor bat gailuan, proxy txiki bat eguraldi-hornitzaileentzat eta Pro maila bat RevenueCat-en.

  • Produktu propioa
  • 2026
  • iOS eta Android
  • Rola: dena
  • Egoera: Google Playn argitaratua
Can I Ride?: BAI berdea, 24 orduko zerrendarekin eta oraintxeko baldintzekin
01
Can I Ride?: EZ gorria joan-etorri baterako, tarte bakoitzeko pastilla batekin
02
Can I Ride?: ezarpenak, euri, haize eta izotz atalaseekin eta goizeko abisuarekin
03
01 — TestuinguruaProduktua

Motorzale guztiek dute goizeko erritual bera: eguraldi-aplikazio bat ireki, hamar eguneko taula bat korritu, radar-mapa bati begira begiak estutu eta asmatu. Informazio guztia hor dago eta erantzuna, oraindik, ez. Can I Ride? etxera blai bustita itzultzeaz nekatutako motorzale batek egin zuen, erritual hori pantaila bakar batekin eta hitz bakar batekin ordezkatzeko.

ZubiLabs-en laugarren produktua da eta zerbitzari-osagai bat duen lehena, txikia izanagatik. Beste hirurek dena binarioaren barruan daramate; eguraldi-aplikazio batek ezin du, datuak ordainpeko hornitzaileetatik datozelako eta haien gakoek erabiltzaileek irakurri ezin duten tokiren batean geratu behar dutelako.

02 — ArazoaProduktua

Iragarpen bat ez da erabaki bat. % 40ko euri-probabilitatea EZ da lanera joateko eta BAI igandeko buelta baterako; 60 km/h-ko haize-boladak ondo daude trail batean eta desatseginak naked batean. Aplikazioak zenbakiak motorzaleak onartuko duen epai bihurtu behar zituen, eta bakoitzari marra mugitzen utzi.

Bidaia bat bi tarte ere bada. Goiz lehor bat arratsaldeko seietan ekaitzarekin EZ da, eta arrazoiak zein tarte den arazoa esan behar du. Eta erantzunak garaje batean estaldurarik gabeko telefono bati eutsi behar dio: azken iragarpenak berehala ireki behar du eta argi esan zaharra dela.

03 — IrtenbideaProduktua

React Native aplikazio bat, hasierako pantaila erantzuna bera duena. BAI edo EZ erraldoi bat epaiaren kolorean, poliki arnasa hartzen duen halo baten gainean, titular batekin eta arrazoia azpian: «Euria 40 min barru gutxi gorabehera», «Lehorra, baina 65 km/h-ko boladak». Azpian, 24 orduko zerrenda bat, tarte bakoitzeko koloretako barra batekin; barra bat ukitzeak irteera mugitzen du. Goiko txipek lekua (GPS, etxea, lana edo hiri bat bilatu), eguna eta ordua, eta aukerako itzulera aukeratzen dituzte.

Arauak gailuan exekutatzen dira, larrienetik arinenera: ekaitza, elurra edo elurbustia; euria orain; euri-probabilitatea tolerantziaren gainetik; euria hurrengo hiru orduetan; gero anbar izotzagatik, lainoagatik eta haizeagatik; gero berdea. Joan-etorri batek bi tarteak konbinatzen ditu, txarrenak irabazten du eta arrazoiak izendatzen du. Doako erabiltzaileek 5 eguneko iragarpena dute 3 orduko tarteetan, OpenWeather-etik; Pro-k 14 egun, orduz orduko zehaztasuna eta WeatherAPI desblokeatzen ditu, hileko, urteko edo betiko erosketa gisa. «Goizeko abisua» jakinarazpen egunerokoak, partekatzeko epai-txartelak, gordetako lekuek, unitateek eta ingelesak eta gaztelaniak osatzen dute.

04 — Rola

Dena. Produktua, epaiaren arauak, marka eta ikonoa, React Native aplikazioa, bi API ibilbideak eta haien babesa, hornitzaile bakoitzaren mapatzaileak, RevenueCat bidezko paywall propioa, jakinarazpenak eta atzeko planoko zeregina, Sentry, EAS build-ak, hosting-a eta eguneraketak, unitate-probak eta denden fitxak bi hizkuntzatan.

05 — ArkitekturaIngeniaritza
VERDICT ENGINE8 rules · pure TSAPPExpo / React NativeAPI ROUTESEAS Hosting · cacheGPS · SAVED PLACESREVENUECAT · PROOPENWEATHER · WEATHERAPIPREFS · LAST FORECASTSENTRY · EAS UPDATEPRO GATE · RC REST

Erabaki nagusiak, eta zergatik:

  • Epaia funtzio puru bat da. Modulu batek iragarpen-pakete bat, ordu bat eta motorzalearen atalaseak jasotzen ditu eta tonu bat eta arrazoi bat itzultzen ditu. React-ik gabe, I/O-rik gabe, arauz arau unitate-probatua. Ordu-zerrendak, joan-etorriak eta goizeko jakinarazpenak funtzio berari deitzen diote, eta beraz ezin dute inoiz elkarren kontra egin.
  • Proxy bat, ez backend bat. Expo Router-en bi API ibilbide EAS Hosting-en: iragarpena eta geokodeketa. Hornitzaileen gakoak gordetzen dituzte, koordenatuak kilometro batera biribiltzen dituzte, hamar minutuz cacheatzen dute eta aplikazioaren tokenik gabeko eskaerak baztertzen dituzte. Datu-baserik gabe, konturik gabe, ezer migratzeko gabe. Web esportazioa zabaltzeak zerbitzaria zabaltzen du.
  • Forma bat, bi hornitzaile. OpenWeather-ek eta WeatherAPI-k mapatzaile puru bana dute ForecastBundle berera. Aplikazioaren gainerakoak ez daki inoiz zeinek erantzun duen; hautatzaileak ereduaren ordu-tartea eta gehieneko egunak bakarrik irakurtzen ditu. Hornitzaile bat aldatzea edo gehitzea fitxategi bat eta bere probak dira.
  • Pro axola duen tokian egiaztatzen da. RevenueCat-en identifikatzaile anonimoa da identitate bakarra. Aplikazioak Pro eskaerekin bidaltzen du eta iragarpen-ibilbideak RevenueCat-en REST APIari galdetzen dio ordainpeko hornitzaileari deitu aurretik, erantzuna cachean gordeta. URLa ezagutzeak ez dio inori premium iragarpenik ematen.
06 — Teknologia
MugikorraReact Native 0.86 · Expo SDK 57 · Expo Router · TypeScript · React Compiler · Reanimated 4
DatuakTanStack Query · AsyncStorage iraunkortasuna · OpenWeather · WeatherAPI
ZerbitzariaExpo Router API ibilbideak · EAS Hosting · Memoriako TTL cachea · RevenueCat REST
SarrerakRevenueCat · Paywall propioa · Hilekoa · urtekoa · betikoa
EragiketaEAS Build · EAS Update · Sentry · expo-notifications · expo-background-task
Tresnakbun · bun test · ESLint · ikono-pipelinea resvg-rekin
07 — ErronkakIngeniaritza
  • Sistemak inoiz programatu ez dezakeen goizeko jakinarazpena. iOS eta Android-eko atzeko planoko zereginak sistemari nahi zaionean exekutatzen dira. Egiaztapena atzeko planoko zereginetik exekutatzen da eta berriro aplikazioa aurreko planora datorren bakoitzean, ohiko irteera baino laurogeita hamar minutu lehenagotik hogeita hamar geroagora arteko leiho baten barruan, eguneko marka batekin behin bakarrik jo dezan. Kasurik txarrenean, epaia hor dago telefonoa hartzean.
  • Edonork agortu zezakeen doako kuota. Iragarpen-ibilbide ireki bat beste norbaitek ordaindutako eguraldi-API publiko bat da. Ibilbideek aplikazioan txertatutako token bat eskatzen dute, koordenatu biribilduko cachea egiten dute auzokideek dei bakarra parteka dezaten, parametro bakoitza balioztatzen dute eta ordainpeko hornitzailea zerbitzariko entitlement-egiaztapen baten atzean jartzen dute. Sekretuak konfiguratu gabe, egiaztapenak saltatu eta erregistratu egiten dira, eta garapena sinple mantentzen da.
  • Gezurrik esaten ez duen lineaz kanpoko modua. Azken iragarpena TanStack Query bidez gordetzen da aplikazioa estaldurarik gabe berehala ireki dadin, eta azken GPS kokapena arrazoi beragatik gordetzen da. Hogeita hamar minutu baino gehiago duen edo freskatu ezin izan den guztia gordetako iragarpen gisa markatzen da hodei marratuaren ikono batekin, unekotzat pasarazi beharrean.
08 — Emaitza

1.0 amaitu bat: onboarding-a, epaia ordu-zerrendarekin eta joan-etorriarekin, gordetako lekuak eta hiri-bilaketa, atalaseak eta unitateak, goizeko abisua, partekatzeko txartela, lineaz kanpoko cachea, hiru planeko paywall propioa, errore-txostenak saio-errepikapen maskaratuarekin, 33 unitate-proba eta ingelesezko eta gaztelaniazko fitxak bi dendetarako prest.

ZubiLabs-entzat erdibidea erakusten duen kasua da: zabaltze bakarra eta datu-baserik ez duen zerbitzaria duen produktu bat, eta bezeroari fidatu beharrean muturretik muturrera betearazten den harpidetza.

09 — Ikasitakoa
  • Kolorea da interfazea. Pantaila osoa da erantzuna, eskularruekin eta garajearen beste muturretik irakurgarria. Beste elementu bakoitzak erantzun hori azalduz edo mugituz irabazi zuen bere lekua.
  • Zerbitzaria, sekretua bezain txikia. Zerbitzari bat egoteko arrazoi bakarra da bi API gako ezin direla binario batean joan. Bi ibilbide eta cache bat nahikoa dira; kontuak edo datu-base bat gehitzeak kostua gehituko zuen eta motorzaleak nabarituko ez duen ezer.
  • Saldu zehaztasuna, ez erantzuna. Doako mailak oraintxeko eta bost egunerako epaia ematen du; Pro-k bi aste eta ordu zehatza saltzen ditu. Erantzuna bera ezkutatzeak doako aplikazioa alferrikako utziko zukeen eta ordainpekoa gorrotatua.