Kérsz cukorkát?

By | 2012. március 13.

Elkészült a KSZK Webteam legújabb fejlesztésű honlapja, egy tanfolyam kezelő rendszer a Simonyi szakkoli számára. De hogy jön ehhez a cukorka? Olvass tovább, és megtudod!

Két évvel ezelőtt, amikor megszerveztük az első Webteam Alapcsomag fantázianevű alapozó tanfolyamunkat, felmerült, hogy szükség lenne egy egyszerű felületre, ahol a tanfolyam résztvevői letölthetnek segédanyagokat, valamint házi feladatokat tölthetnek fel. Fontos volt az is, hogy a beadott munkákat az előadók tudják értékelni, hiszen a visszajelzés fontos része a tanulásnak és a motivációnak is.

El is készült egyhamar az oldal, Symfony PHP keretrendszer használatával. Mindent tudott, amire akkoriban szükségünk volt, és nagyon jól bevált a tanfolyam során. Így sokkal kényelmesebb volt a segédanyagokat megosztani és a házi feladatokat bekérni és javítani, mintha e-mailen keresztül kellett volna.

Ahogy haladtunk az idővel, egyre több új igény merült fel. Az egyik legfontosabb követelmény az volt, hogy ha már van egy ilyen szép rendszerünk, hadd használhassák mások is, konkrétabban bárki a Simonyiból. Az igények felmérése során azt tapasztaltuk, hogy sokan szívesen használnának ilyen oldalt, viszont mindenkinek más-más funkcionalitásra lenne szüksége. Ezt nem tudtuk megvalósítani a már elkészült weboldalon, szükségessé vált egy teljesen új alapokra felépített oldal.

Az új honlapot már ASP.NET MVC 3-as keretrendszer felhasználásával fejlesztjük, természetesen C# nyelvet használva. Az előzőekből kiindulva a legfőbb követelmény az volt, hogy minden fontos funkció külön modulba kerüljön, és ezeket a modulokat az egyes tanfolyamokhoz külön lehessen bekapcsolni, ha szükség van rá. Az alábbi képeken látszik, hogyan valósítottuk meg:

Ha a tanfolyam adminisztrációs oldalon bepipálok egy modult, akkor megjelenik a tanfolyam oldalon a hozzá tartozó fül:

Egyszerűnek hangzik, de az elkészítés során megtapasztalhattuk, hogy nem is olyan könnyű ilyet csinálni. Legalábbis olyan szinten, ahogyan mi megálmodtuk.

Kulcsszavakban a felhasznált technológiákról:

  • ASP.NET MVC 3
  • Entity Framework 4
  • Unity IoC
  • jQuery, jQuery UI
  • TinyMCE
  • számos hasznos tervezési minta
  • a fejlesztés során a Team Foundation Servert használtuk fel verziókezelésre és feladatkövetésre

Végül: miért kapta a az oldal cukorka nevet? A legeslegelső Webteam Alapcsomag megbeszélésén merült fel, hogy hogyan motiváljuk a tanfolyam résztvevőket. Például cukorkát osztottunk a jó házi feladatok elkészítőinek. A motiváció egyik alappillére lett ez az oldal, így kézenfekvő lett humorosan cukorkának elnevezni az oldalt.

Ha a fentiek közül bármelyik érdekel téged, vagy szeretnéd megtudni, hogyan lehet egy ilyen weboldalt elkészíteni, esetleg Te is szeretnél hasonló projektekben részt venni, csatlakozz a KSZK Webteamhez!

  • pali

    Miért nem lehetett a Symfony-s rendszert továbbfejleszteni, vagy akár újraírni? Mi indokolta az ASP.NET-re való áttérést?

    • szelpe

      Szia,

      először is köszi az érdeklődést! 🙂
      A továbbfejlesztés nagyon nehézkes lett volna, mivel a modulrendszer amit meg szerettünk volna valósítani egészen más felépítésű, mint a sokkal egyszerűbbre tervezett eredeti rendszer. Az is problémát okozott, hogy az még a Symfony 1.4-es verziójával készült, közben kijött a 2.0-ás változat, ami semmilyen szintem sem kompatibilis az 1.x-es szériával, aminek a fejlesztését viszont hamarosan abbahagyják.
      Tehát mindenképpen újra kellett írni. Használhattuk volna a Symfony 2.0-ás változatát is, de akkor éppen az ASP.NET MVC-vel foglalkozó Webteam tagoknak volt kedve ezzel a projekttel foglalkozni. Én mind a két rendszerrel fejlesztettem már jó pár honlapot, és végül az ASP.NET MVC-t éreztem a “kellemesebbnek”, valahogy jobb fejlesztői élményt nyújt számomra, de ez teljesen szubjektív vélemény.
      Azóta én már nem is foglalkozom PHP-val.

  • Pingback: Mi van az MVC tervezési mintán túl? | Kollégiumi Számítástechnikai Kör()

  • Pingback: A JavaScript, a click esemény, és a buborékozás | Kollégiumi Számítástechnikai Kör()