A feladat dokumentálása

A feladat dokumentálása és tapasztalatok a fejlesztés során

A webprogramozási feladat elkészítése során a cél nem csupán egy működő weboldal létrehozása volt, hanem egy olyan átlátható, logikusan felépített rendszeré, ahol a PHP, SQL (MySQL), HTML és CSS egymásra épülve alkotnak egy egységes webalkalmazást. A fejlesztés közben világossá vált, hogy a webprogramozás egy többrétegű folyamat, ahol az egyes technológiák szoros kapcsolatban állnak egymással.

A rendszer réteges felépítése

A webalkalmazás működése több, jól elkülöníthető rétegre bontható:

  • SQL (MySQL) – az adatok tartós tárolása
  • PHP – üzleti logika, adatfeldolgozás, jogosultságkezelés
  • HTML – a tartalom strukturált megjelenítése
  • CSS – megjelenés, reszponzivitás és felhasználói élmény

Egy tipikus oldalbetöltés során a felhasználó egy PHP fájlt ér el, amely SQL lekérdezésekkel adatot kér le az adatbázisból, majd a kapott adatokat HTML formában állítja elő. A böngésző ezt a HTML-t jeleníti meg a CSS szabályai alapján.

Az alkalmazás PHP állományainak szerepe

A projekt során több különálló PHP állomány készült, amelyek mindegyike konkrét feladatot lát el. Ez a felépítés segíti az átláthatóságot és a karbantarthatóságot.

Alap és közös állományok

  • config.php
    Az adatbázis-kapcsolat (PDO) létrehozásáért felelős fájl. Minden olyan PHP állomány betölti, amely adatbázist használ.
  • auth.php
    A felhasználói azonosítással és jogosultságkezeléssel kapcsolatos függvényeket tartalmazza. Itt történik a session kezelés, a current_user(), require_login() és require_admin() logika megvalósítása.
  • header.php
    Az oldal egységes fejlécét tartalmazza. Dinamikusan jeleníti meg a kategóriákat, valamint a bejelentkezett felhasználóhoz tartozó menüpontokat.
  • footer.php
    Az oldal láblécét biztosítja, egységes megjelenéssel minden oldalon.

Publikus oldalak

  • index.php
    A főoldal, amely a legfrissebb publikált cikkeket listázza. Az adatokat SQL lekérdezéssel tölti be, és kivonat formájában jeleníti meg.
  • post.php
    Egy konkrét cikk részletes megjelenítéséért felel. A cikket slug alapján tölti be az adatbázisból.
  • category.php
    Egy adott kategóriához tartozó cikkeket listázza.

Felhasználói azonosításhoz kapcsolódó állományok

  • login.php
    A felhasználók bejelentkezését valósítja meg. Ellenőrzi a megadott hitelesítő adatokat, majd session-ben eltárolja a bejelentkezett felhasználót.
  • register.php
    Új felhasználók regisztrációját kezeli. Validálja a bevitt adatokat, majd biztonságos jelszó-hash-sel eltárolja azokat az adatbázisban.
  • logout.php
    A kijelentkezésért felelős fájl, amely megszünteti a session-t, majd visszairányítja a felhasználót a főoldalra.

Admin felülethez kapcsolódó állományok

  • admin_posts.php
    Az adminisztrátori cikklista, ahol a cikkek megtekinthetők, szerkeszthetők és törölhetők.
  • admin_new_post.php
    Új cikk létrehozására szolgáló admin oldal.
  • admin_edit_post.php
    Meglévő cikkek szerkesztésére szolgál.
  • admin_delete_post.php
    Egy cikk törlését végzi el admin jogosultság ellenőrzése után.
  • admin_categories.php
    A kategóriák létrehozását, szerkesztését, törlését és sorrendezését kezeli.
  • users.php
    Az adminisztrátori felhasználókezelő felület. Itt lehet admin jogot adni vagy elvenni, valamint felhasználókat törölni, a saját fiók védelmével.

Backend fókusz és személyes tapasztalat

A fejlesztés során egyértelművé vált számomra, hogy a backend fejlesztés az a terület, amely a leginkább magával ragadott. Az adatbázis-kezelés, a jogosultsági rendszer és a CRUD műveletek logikája sokkal nagyobb szakmai élményt adott, mint a kizárólag vizuális elemekkel való munka.

A PHP állományok közötti logikus feladatmegosztás segített abban, hogy a rendszer átlátható maradjon, és egy-egy hiba esetén gyorsan lokalizálható legyen a probléma. Ez a tapasztalat megerősítette bennem, hogy a backend jellegű gondolkodás közelebb áll hozzám a webfejlesztésen belül.

Összegzés

A feladat elkészítése során létrejött egy komplex, mégis jól strukturált webalkalmazás, ahol minden PHP állomány konkrét szerepet tölt be. A PHP, SQL, HTML és CSS egymásra épülő használata biztosítja a rendszer stabil működését és bővíthetőségét.

Továbbfejlesztési lehetőségek és záró gondolatok

A fejlesztés során nyilvánvalóvá vált, hogy az elkészült webalkalmazás működőképes, stabil alapokra épül, ugyanakkor számos olyan terület van, amely tovább finomítható vagy bővíthető. Ide tartozhat például a felhasználói felület további csiszolása, új admin funkciók bevezetése, teljesítményoptimalizálás, illetve a biztonsági mechanizmusok további erősítése.

A webfejlesztést azonban nem tekintem egy végleges állapotot elérő folyamatnak. Inkább hasonlítható egy házépítéshez: elkészül az alap, felépül a szerkezet, beköltözhetővé válik, de a finomítás, átalakítás és fejlesztés valójában soha nem ér véget. Mindig van egy új igény, egy jobb megoldás vagy egy hatékonyabb módszer, amely tovább javíthatja a rendszert.

Ezt a projektet ezért nem lezárt munkaként, hanem egy olyan alapként kezelem, amelyre később további funkciók és fejlesztések építhetők. A feladat teljesítette a kitűzött követelményeket, ugyanakkor megfelelő kiindulópontot biztosít a további szakmai fejlődéshez is.

-

Fontos megemlíteni, hogy a projekt nem kizárólag a tantárgyi követelmények teljesítése miatt készült. Régóta foglalkoztatott egy saját weboldal létrehozásának gondolata, azonban a mindennapi elfoglaltságok miatt korábban nem jutott elegendő idő a megvalósításra. A féléves feladat ebben az értelemben egyfajta külső motivációt adott: a határidők és elvárások „rákényszerítettek” arra, hogy valóban elkezdjem és végigvigyem a fejlesztést.

Ez a körülmény azonban pozitív hatással volt a munkára, mivel a kötelező jelleg mellett megjelent a személyes érdeklődés is. A fejlesztés során így nem csupán egy beadandó készült el, hanem egy olyan rendszer alapjai is, amelyhez személyes kötődés alakult ki.

A félév lezárását követően a weboldalt saját céljaimnak megfelelően tervezem továbbfejleszteni és átalakítani. A projekt a későbbiekben a rádióamatőr hobbim részeként fog tovább élni, ahol technikai napló, dokumentációs felület vagy kísérleti platform szerepét töltheti be. Ez a jövőbeli irány tovább erősíti azt a szemléletet, hogy a most elkészült megoldás nem egy végleges állapot, hanem egy stabil kiindulópont.


Gréczi László
D214WZ
3. féléves rendszergazda FOSZK hallgató