D'Erausfuerderung
Wat mir geliwwert hunn
Ee Backend fir e ganzt Netz vun Apps
Bei zwou Apps kann een d’Inhalter a Fichieren an all App halen. Bei véierandzwanzeg gëtt all Korrektur un enger Textzeil zu engem neie Release bei Google Play an enger Woch Waardezäit.
Mir hunn eng Plattform gebaut, an där d’Inhalter getrennt vun den Apps liewen: eng Redaktesch ännert se am Backend, an d’Telefone huelen sech dat aktualiséiert Pak selwer — ouni d’App ze aktualiséieren.
All Kachel ass eng App: wéi vill Andréi si hält a wéi eng Inhaltsversioun grad publizéiert ass.
D’App liest nëmmen
Déi zentral Architekturentscheedung ass einfach: den Telefon schreift näischt an d’Plattform ausser anonym Evenementer. Hien hëlt de Manifest, hëlt d’Pak vun den Andréi a senger Sprooch, an dat war et. Keng Konten, keng Synchroniséierung, keng Konflikter.
Dofir entsteet eng nei App bal ouni Code: am Backend en Andrag uleeën, e Schlëssel gëtt erstallt, Kategorien an Andréi fëllen, op Publizéieren drécken — an d’Inhaltsversioun klëmmt ëm eent. Schlëssel an Adress kommen an d’App, duerno leeft se vu selwer.
Véierandzwanzeg Apps an enger Tabell
All eenzel huet hire Zougrëffsschlëssel, hire Saz u Sproochen, hir Inhaltsversioun an hire Stand. Ee gesäit, wat publizéiert ass, wat an Aarbecht ass a wat nach eng Iddi ass. Dat ass keng Schauwand, mä d’Aarbechtslëscht, aus där dat ganzt Netz gefouert gëtt.
Andréi vu verschiddener Form
E Rezept, eng Uleedung, eng Quizfro, eng Spillkaart, e Feelercode, e Rätsel, eng Tatsaach — all Format huet säin eegent Bearbeedungsformulaire, net ee eenzegt Feld mam Numm „Text“. Honnert Andréi loosse sech per Import derbäisetzen: en Array afügen, Typ a Sprooch wielen, an de System mellt Zeil fir Zeil, wat ugeholl gouf, wat net a firwat.
Net bezuelen fir dat, wat gläich bliwwen ass
D’Pak vun enger App ëmfaasst Honnerte Kilobyte. Et bei all Start erofzelueden mécht kee Sënn, dofir dréit d’Äntwert eng Versiounsmark: huet den Telefon schonn dat aktuellt Pak, äntwert de Server „näischt geännert“ a schéckt näischt.
Hei louch d’Fal, déi d’Erspuernis roueg futti gemaach huet: e Proxy, deen d’Äntwerte kompriméiert, schreift d’Mark a seng „schwaach“ Form ëm, an de strenge Verglach passt net méi. Den Telefon huet all Kéier alles nei erofgelueden. Dem Verglach huet ee bäibréngen missen, all dräi Forme vun der Mark unzehuelen — déi streng, déi schwaach an déi mat Komma opgelëscht.
Medien, déi d’App net opbléien
All Bild gëtt beim Eroplueden a WebP ëmgewandelt an an zwou Gréissten gehalen: ganz bis 1200 Pixel an e Virschaubild bis 400. De Server liwwert se mat laangem Cache aus, an d’App kritt fäerdeg Adressen — keng Ëmwandlung um Telefon.
Statistik ouni perséinlech Donnéeën
D’Apps schécken anonym Evenementer — en Opmaachen, e Wiessel, eng Aktioun. Keng Kennungen vun enger Persoun, keng Kontakter. Héchstens fofzeg Evenementer pro Ufro, a feelerhaft Zeile ginn einfach verworf, amplaz de ganzen Opruff scheitere ze loossen.
Dernieft féiert d’Plattform d’Zuelen aus dem App-Store an dem Reklammenetz zesummen — fir datt Installatiounen an Erléis do gelies ginn, wou och d’Inhalter leien, an net an dräi verschiddene Konsolen.
Projetsverlaf
Ënnert der Hauf
Plattform
Laravel mat engem Filament-Backend. Et lieft op gewéinlechem Hosting: ouni Root, ouni Container, Waardeschlaang a Cache an der Datebank, Biller ginn beim Eroplueden ëmgewandelt.
API
Véier Liespunkten, e Schlëssel am Header, Grenzen pro Schlëssel a pro Adress, eng Versiounsmark mat der Äntwert „näischt geännert“. Feeler sinn einfacht JSON mat engem Code.
Oflag
Eng eege Plaz fir Builds a Store-Material: Symboler, Bildschiermfotoen, Beschreiwungen. Dobäi Querverweiser tëscht den Apps vum Netz.
D’Resultat
En Netz aus véierandzwanzeg Apps, an deem eng Textkorrektur de Benotzer a Minutten erreecht amplaz an enger Woch. Eng nei App entsteet am Backend a wéinege Minutten: uleeën, fëllen, publizéieren, Schlëssel asetzen.
An dat alles leeft op gewéinlechem Hosting — ouni eegene Server, ouni Waardeschlaangen am Aarbechtsspäicher an ouni Container, fir déi et do souwisou keng Plaz gëtt.



