Produktas2026-07-10· 6 min skaitymo

OldNews architektūra — kodėl offline-first

Techninis paaiškinimas: kodėl visa svarbi vartotojo informacija saugoma tavo telefone, kada backend reikalingas ir kur ribos.

OldNews architektūra remiasi vienu principu: tavo treniruotės — tavo duomenys. Kai atsisiunčiama iOS aplikacija, joje jau yra viskas, ko reikia treniruotis be interneto: programos, pratimai, kalendorius, progresas.

Techniškai tai reiškia, kad naudojame SwiftData (naują Apple duomenų bazių framework, gimusią ant SQLite) tavo iPhone. Kiekvienas įrašas apie treniruotę, kiekviena programa, kiekvienas pratimas gyvena lokaliai — šifruoti hardware, backup per iCloud (jei įjungei), niekada nesiunčiami mums.

Kada backend reikalingas? Trijose situacijose: (1) autentifikacija (magic link, Google Sign-In) — tik email saugomas serveryje; (2) programų dalinimasis marketplace — trenerio publikuota programa gyvena backend, kad kiti galėtų atsisiųsti; (3) email invitation per Resend.

Serveris — Node.js su Fastify framework ir PostgreSQL. Deploy ant Hostinger VPS Vokietijoje (ES teritorija — GDPR compliance). Visas kodas atviras architektūra apžvelgti — komandai, kuri kruopščiai peržiūri saugumą.

Kur ribos? Šiuo metu nesinchronizuojam duomenų tarp tavo iOS device (jei turi 2 iPhone — treniruotės liks pirmame). Tai spręsime ateityje per iCloud CoreData sync. Taip pat — dar nėra Android versijos (planuojame 2027 sezonui).

Kodėl ne visą duomenų bazę pakelti į cloud? Trys priežastys: greitis (treniruojiesi salėje be interneto — app turi veikti), privatumas (svoris, kūno mato duomenys nesiunčiami niekur), kaina (offline-first architektūra nekainuoja masiškai serverio; su realtime sync būtų dvigubai brangiau).

Ateityje architektūra plėsis: web dashboard treneriams (pilnas versijos praktikoje), Apple Watch companion app, ir — kai bus 1000+ MAU — Android versija. Bet pagrindinis principas nesikeis: tavo iOS aplikacija veiks offline.

Ready pradėti?

Atsisiųsk OldNews iš App Store — nemokamai, be reklamų.

Atsisiųsti iš App Store