01 · Problem / potreba
Podaci o obrazovanju, projektima, stručnom usavršavanju, nastavničkom radu i profesionalnom iskustvu bili su raspoređeni u različitim dokumentima i nisu postojali na jednom centralnom mestu.
Klasičan statički portfolio zahteva izmenu programskog koda prilikom svakog ažuriranja. Zbog toga je postojala potreba za razvojem sopstvene CMS platforme koja omogućava jednostavno upravljanje sadržajem, dokumentovanje profesionalnog razvoja i javno predstavljanje nastavničkih i inženjerskih kompetencija.
02 · Rešenje / realizacija
Razvijena je web platforma koja objedinjuje javni profesionalni portfolio i zaštićeni administratorski sistem.
Javni deo predstavlja obrazovanje, radno iskustvo, projekte, kompetencije, reference, stručna usavršavanja, galeriju, profesionalnu filozofiju i kontakt podatke. Administratorski deo omogućava dodavanje, uređivanje, sortiranje i uklanjanje sadržaja bez neposredne izmene izvornog koda.
Sistem podržava upravljanje projektima kroz detaljan model studije slučaja, postavljanje naslovnih slika i galerije screenshotova, upravljanje dokumentima i biografijom, izbor aktivne školske godine i organizovanje profesionalnih podataka po oblastima.
Platforma je prilagođena desktop, tablet i mobilnim uređajima i postavljena na sopstveni domen.
03 · Moje odgovornosti
Samostalno sam realizovao:
analizu zahteva i definisanje strukture sistema;
projektovanje javnog i administratorskog dela;
modelovanje MySQL baze podataka;
razvoj backend funkcionalnosti u PHP-u;
povezivanje aplikacije sa bazom pomoću PDO interfejsa;
razvoj sistema za prijavu administratora;
izradu CMS modula za upravljanje sadržajem;
razvoj modula za projekte i studije slučaja;
upravljanje slikama, dokumentima i biografijom;
izradu responzivnog korisničkog interfejsa;
prilagođavanje desktop i mobilnog prikaza;
implementaciju instalacionog procesa;
testiranje, ispravljanje grešaka i održavanje sistema;
postavljanje aplikacije na hosting i povezivanje sa domenom;
pripremu tehničke dokumentacije.
04 · Arhitektura sistema
Sistem je organizovan kao modularna PHP web aplikacija sa javnim i administratorskim delom.
Javni sloj: prikazuje profesionalne podatke, projekte, obrazovanje, iskustvo, galeriju, dokumente i kontakt informacije.
Administratorski sloj: omogućava autentifikovanom administratoru upravljanje sadržajem.
Aplikacioni sloj: obrađuje zahteve, validira podatke, upravlja sesijama i izvršava poslovnu logiku.
Sloj podataka: koristi PDO za komunikaciju sa MySQL/MariaDB bazom.
Sloj datoteka: upravlja postavljenim slikama, biografijom i drugim dokumentima.
Odvajanje javnog i administratorskog dela omogućava jednostavnije održavanje i bolju kontrolu pristupa.
05 · Ključne inženjerske odluke
Razvijen je sopstveni CMS sistem kako bi struktura portfolija mogla da se prilagodi nastavničkom, softverskom i inženjerskom iskustvu.
Sadržaj je odvojen od prezentacionog sloja i čuva se u relacionoj bazi, što omogućava ažuriranje podataka bez izmene HTML i PHP stranica.
Za projekte je uveden model profesionalne studije slučaja koji obuhvata problem, rešenje, ulogu, arhitekturu, inženjerske odluke, bezbednost, testiranje, rezultate i dokaze.
PDO je izabran za rad sa bazom, dok je sistem za instalaciju razvijen tako da automatski pripremi konfiguraciju, bazu, potrebne tabele i administratorski nalog.
06 · Bezbednost
Administratorski deo zaštićen je autentifikacijom i korisničkom sesijom. Pristup CMS funkcijama nije dostupan neprijavljenim posetiocima.
Za rad sa bazom koristi se PDO, uz kontrolisanu obradu korisničkih podataka. Sistem proverava tipove i veličinu datoteka koje se postavljaju kroz administratorski panel.
Instalacioni proces koristi datoteku installed.lock, koja sprečava ponovno pokretanje instalacije nakon uspešnog podešavanja sistema. Konfiguracioni i administratorski podaci nisu dostupni kroz javni deo portfolija.
07 · Testiranje i verifikacija
Tokom razvoja sprovedeno je ručno funkcionalno i vizuelno testiranje:
instalacije i inicijalnog podešavanja sistema;
prijave i odjave administratora;
zaštite administratorskih stranica;
dodavanja, izmene i uklanjanja sadržaja;
postavljanja slika i dokumenata;
upravljanja projektima i screenshotovima;
promene redosleda prikazivanja projekata;
označavanja istaknutih projekata;
upravljanja biografijom i profesionalnim podacima;
prikaza aktivne školske godine;
javnog prikaza unetih podataka;
navigacije i aktivnih sekcija;
prikaza na desktop, tablet i mobilnim uređajima;
rada sistema u lokalnom WAMP i produkcionom okruženju.
Uočene greške rešavane su kroz više razvojnih verzija i ponovljeno testiranje izmenjenih funkcionalnosti.
08 · Rezultat / efekat
Razvijena je funkcionalna CMS platforma koja na jednom mestu objedinjuje profesionalni, nastavnički i inženjerski portfolio.
Sistem omogućava samostalno ažuriranje sadržaja, dokumentovanje profesionalnog razvoja i predstavljanje projekata kroz strukturisane studije slučaja. Time je smanjena potreba za ručnim izmenama programskog koda i pojednostavljeno dugoročno održavanje portfolija.
Projekat istovremeno predstavlja lični profesionalni sajt i dokaz praktičnih kompetencija u analizi zahteva, projektovanju baza podataka, backend razvoju, izradi korisničkog interfejsa, testiranju i postavljanju web aplikacije u produkciono okruženje.
09 · Prikaz projekta
Screenshotovi i funkcionalni prikazi
10 · Dokazi / verifikacija
Funkcionalnost sistema može se proveriti kroz javno dostupnu produkcionu verziju na domenu ivancvetkovic.com.
Dodatni dokazi obuhvataju:
aktivan javni portfolio;
zaštićeni administratorski panel;
prikaz projekata i studija slučaja;
upravljanje sadržajem iz baze podataka;
responzivni desktop i mobilni prikaz;
galeriju screenshotova;
instalacioni sistem;
tehničku dokumentaciju;
evidenciju razvojnih verzija i izvršenih izmena.
Izvorni kod i administratorski deo sistema nisu javno dostupni.