[{"data":1,"prerenderedAt":162},["ShallowReactive",2],{"article-hu-kozossegi-program-weboldal-platform":3,"articles-hu-all":104},{"id":4,"title":5,"body":6,"date":86,"description":87,"extension":88,"icon":89,"locale":90,"meta":91,"metaDescription":92,"navigation":93,"order":94,"path":95,"readingTime":86,"relatedServices":96,"seo":100,"slug":101,"stem":102,"updated":86,"__hash__":103},"articles\u002Farticles\u002Fkozossegi-program-weboldal-platform-lesz.md","Évtizedes együttműködés - weboldaltól közösségi platformig",{"type":7,"value":8,"toc":75},"minimark",[9,13,16,21,24,27,31,34,37,41,44,47,51,54,58,61,65,68,72],[10,11,12],"p",{},"Egy közösségi programokat szervező csapat weboldala elsőre egyszerű feladatnak tűnhet: programok, időpontok, helyszínek, néhány fotógaléria. Aztán jönnek a felhasználók, a közösségi funkciók, az automatizmusok, a jogosultságkezelési szabályok, külső szolgáltatások és a milliós adatbázis táblákat használó weboldalra érkező sokezer látogató.",[10,14,15],{},"Egy ilyen közösségi eseményplatformot több mint tíz éve fejlesztünk, az első sortól kezdve, az ötletgazdával közösen kitalálva a funkciókat.",[17,18,20],"h2",{"id":19},"a-nehézséget-az-összefüggések-adják","A nehézséget az összefüggések adják",[10,22,23],{},"A platform eredetileg programok, események és bulik népszerűsítésére készült, de a regisztrált felhasználók egymással is kapcsolatba léphetnek rajta. Az események adatai nagyon részletesen megadhatók: van oldalon belüli visszajelzés a részvételről, ehhez kötött, csak a jelentkezőknek látható jegyvásárlási lehetőség, létszámkorlát, kísérők, „mit hozz magaddal” lista és kommentfal. Az eseményekhez utólag galériák és emlékek kapcsolódnak, a felhasználók csoportokba léphetnek, és a rendszer saját hírlevélküldővel célzottan tud nekik írni.",[10,25,26],{},"Ezek külön-külön nem bonyolult funkciók. A nehézség abból adódik, hogy mind összefügg: egy esemény láthatósága függ a szervezőtől, a csoporttagságtól és a felhasználók közötti kapcsolatoktól, egy létszámkorlát a jelentkezésekre és a jegyvásárlásra is hat. A jogosultságkezelés, vagyis hogy ki kit lát, és kiből mit láthat, a rendszer egyik legösszetettebb része lett.",[17,28,30],{"id":29},"az-adatmodell-idővel-visszaszól","Az adatmodell idővel visszaszól",[10,32,33],{},"Ami néhány ezer rekordnál jól működik, az milliós nagyságrendnél már nem biztos. Az adatbázisnak voltak olyan időszakai, amikor a komplex lekérdezések nagy terhelést okoztak. Ilyenkor nem egy nagy újraírás hozta a megoldást, hanem folyamatos optimalizáció: ahol indokolt volt, denormalizáltuk az adatokat, és előre kiszámolt adatnézeteket vezettünk be, hogy a gyakran olvasott információt ne kelljen minden kérésnél újra összerakni.",[10,35,36],{},"A munka egyik legérdekesebb része az adatbázis-struktúra tervezése mellett az időzített háttérfolyamatok kialakítása volt. Az események a meghirdetéstől a lezárásig maguktól váltanak állapotot, és ennek akkor is megbízhatóan kell működnie, ha éppen senki nem figyel rá.",[17,38,40],{"id":39},"tíz-év-több-modernizációs-kör","Tíz év, több modernizációs kör",[10,42,43],{},"A platform Symfony-alapú, egyedi fejlesztés. Tíz év alatt több modernizációs kört hajtottunk végre, és a külső függőségek legalább harmada lecserélődött. Egy ilyen csere ritkán egyszerű verziófrissítés: egy felhasználókezelő vagy levélküldő komponens kiváltása a rendszer sok pontját érinti. Közben a külső szolgáltatások, például a közösségimédia-kapcsolatok API-jai is változnak, és ezeket le kell követni.",[10,45,46],{},"A nagy felhasználószámú, nyilvános platformok a támadóknak is vonzó célpontok. Kezelni kellett túlterheléses támadásokat, fiókfeltörési kísérleteket, valamint az adatok automatizált begyűjtésére és a sérülékenységek felderítésére irányuló próbálkozásokat is.",[17,48,50],{"id":49},"közben-a-rendszernek-működnie-kell","Közben a rendszernek működnie kell",[10,52,53],{},"Egy élő közösségi platformot nem lehet bezárni néhány hónapra, amíg rendbe tesszük. A fejlesztés és az üzemeltetés párhuzamosan zajlik: új funkciók készülnek, apró hibák kerülnek elő, és a modernizációt úgy kell végezni, hogy a felhasználók közben zavartalanul használhassák az oldalt.",[17,55,57],{"id":56},"mit-csinálnánk-ma-másképp","Mit csinálnánk ma másképp?",[10,59,60],{},"Tíz év megtanít dolgokra. Ma kevesebb, modulokon átívelő függőséget terveznénk, és a komplexitást igyekeznénk egy-egy modul határain belül tartani, hogy később önállóan lehessen átalakítani. A jogosultságkezelés jó példa erre: ma talán egyszerűbbre terveznénk, mert a rugalmassága idővel a továbbfejlesztés költségében is megjelent.",[17,62,64],{"id":63},"és-közben-az-üzleti-igény-is-változik","És közben az üzleti igény is változik",[10,66,67],{},"Egy éveken keresztül működő platformnál az üzleti igények folyamatosan változnak. A példában a felhasználói élmény súlypontja egyre inkább a mobil felé tolódik, a weboldal szerepe is átalakul, a mögötte álló rendszernek pedig ehhez is alkalmazkodnia kell.",[17,69,71],{"id":70},"kicsiben-indulni-könnyű","Kicsiben indulni könnyű",[10,73,74],{},"Az Eneoptnál olyan rendszereket építünk, amelyeknek évek múlva is alkalmazkodni képesek ahhoz, amit kiszolgálnak. Ha a te weboldalad is kezdi kinőni a kereteit, mert egyre több a felhasználó, a funkció és az összefüggés, beszéljünk, mielőtt az adatmodell visszaszól. Kicsiben indulni könnyű. Nagyra nőni és közben működőképesnek maradni: ez az érdekes rész.",{"title":76,"searchDepth":77,"depth":77,"links":78},"",2,[79,80,81,82,83,84,85],{"id":19,"depth":77,"text":20},{"id":29,"depth":77,"text":30},{"id":39,"depth":77,"text":40},{"id":49,"depth":77,"text":50},{"id":56,"depth":77,"text":57},{"id":63,"depth":77,"text":64},{"id":70,"depth":77,"text":71},null,"Amikor egy weboldalból online platform lesz","md","article-kozosseg","hu",{},"Egy közösségi eseményplatform története több mint tíz évből: jogosultságok, milliós adattáblák és háttérfolyamatok, amikor egy weboldalból online platform lesz.",true,"5","\u002Farticles\u002Fkozossegi-program-weboldal-platform-lesz",[97,98,99],"egyedi-szoftverfejlesztes","regi-rendszerek-modernizacioja","uzemeltetes-es-support",{"title":5,"description":87},"kozossegi-program-weboldal-platform","articles\u002Fkozossegi-program-weboldal-platform-lesz","oRKqdDjG52-YDGsFyBWQTwzHJoZLRRc9851wjydjQ3U",[105,114,121,130,139,141,148,155],{"title":106,"slug":107,"description":108,"readingTime":86,"relatedServices":109,"order":111,"date":112,"icon":113},"Szemlélet - A kód kész. Most kezdődik a munka.","a-kod-kesz-most-kezdodik-a-munka","Az AI-jal épített alkalmazások kockázata jellemzően nem a kódban van, hanem körülötte. Mit érdemes végiggondolni élesítés előtt?",[110,98,99],"fejlesztoi-tanacsadas","0","2026-10-29","article-kod-kesz",{"title":115,"slug":116,"description":117,"readingTime":86,"relatedServices":118,"order":119,"date":86,"icon":120},"Szemlélet - A szabályok változnak, a szoftvernek nem kell","a-szabalyok-valtoznak-a-szoftver-nem","Amikor a szabályok gyorsabban változnak, mint a szoftver",[97],"1","article-szabalyok",{"title":122,"slug":123,"description":124,"readingTime":86,"relatedServices":125,"order":128,"date":86,"icon":129},"Szemlélet - Egy adatforrás, több felület","egy-adatforras-tobb-felulet","Nem újabb felületre van szükség, hanem arra, hogy az adatnak egyetlen gazdája legyen.",[97,126,127],"mobilalkalmazas-fejlesztes","weboldal-fejlesztes","3","article-adatforras",{"title":131,"slug":132,"description":133,"readingTime":86,"relatedServices":134,"order":137,"date":86,"icon":138},"Célunk a fenntartható WordPress","fenntarthato-wordpress","Költséghatékony az a megoldás, amelyért nem kell kétszer fizetni; fenntartható az, amelyet évek múlva is biztonságosan lehet frissíteni.",[127,99,135,136],"support-es-it-tamogatas","kampanyok-es-nyeremenyjatekok","4","article-wordpress",{"title":5,"slug":101,"description":87,"readingTime":86,"relatedServices":140,"order":94,"date":86,"icon":89},[97,98,99],{"title":142,"slug":143,"description":144,"readingTime":86,"relatedServices":145,"order":146,"date":86,"icon":147},"Tapasztalat - Központi rendszerek, helyi igények","kozponti-rendszerek-helyi-igenyek","A jó rendszer nem a központot választja a helyiek helyett, hanem mindkettőt kiszolgálja.",[97,99,135,126,136,127],"6","article-kozpont",{"title":149,"slug":150,"description":151,"readingTime":86,"relatedServices":152,"order":153,"date":86,"icon":154},"Szemlélet - Vibe codingtól éles termékig","vibe-coding-tol-eles-termekig","A prototípusból nem kell kidobni semmit: rendbe tehető, ami már megvan, és ráépíthető, ami még hiányzik.",[98,97],"7","article-vibe",{"title":156,"slug":157,"description":158,"readingTime":86,"relatedServices":159,"order":160,"date":86,"icon":161},"Újraírás helyett modernizáció - egy sportklub oldal átvétele","sportklub-ujrairas-helyett-modernizacio","Egy 100 000 soros, működő rendszert vettünk át, és újraírás helyett fokozatosan korszerűsítettük.",[98,99],"8","article-sportklub",1793728956177]