← Portfolio
WEB

Čavkunović BP — Web Portal & Admin CMS

Kompletan digitalni sistem za benzinsku stanicu, restoran, motel i nekretnine. Web portal, korisnički portal i admin CMS — izgrađeno bez eksternih frameworka.

PHP 8.4MySQLVanilla JSTinyMCEApachePDOCSRF2FAWeb PushApple Wallet
Čavkunović BP — Web Portal & Admin CMS

O projektu

Čavkunović BP je kompanija iz Bihaća koja upravlja mrežom benzinskih pumpi, restoranom, motelom i stambenim objektima. Zadatak je bio izgraditi kompletan digitalni sistem koji objedinjuje sve poslovne aktivnosti na jednoj platformi — bez oslanjanja na gotove CMS rješenja.

Arhitektura sistema

Sistem je podijeljen u tri sloja koji dijele istu bazu podataka:

  • Javni web — marketinška stranica s vijestima, uslugama, galerijama i kontaktom
  • Portal korisnika — registracija, narudžbe iz shopa, motel rezervacije, Klub+ kartica s QR kodom, prijave za posao
  • Admin CMS — 2FA login (email PIN), dashboard sa widgetima za sve pending akcije, 18+ modula

Moduli

  • Vijesti s TinyMCE editorom i automatskom Facebook objavom
  • Poslovne jedinice (gorivo, restoran, motel, autopraona) s GPS koordinatama i Google Maps integracijom
  • Cijene goriva po pumpi s historijom promjena
  • Motel — upravljanje sobama i rezervacijama
  • Nekretnine — stambeni objekti, stanovi, PDF katalozi
  • Shop — proizvodi s galerijama, narudžbe s email notifikacijama, CSV/Excel export
  • Karijere — objava oglasa, prijave s CV uploadom
  • Klub+ program — QR kartica, bodovi, Apple Wallet (pkpass) integracija
  • Backup — SQL dump + ZIP fajlova direktno iz admina

Sigurnost

2FA login za admin riješen email PIN-om (6 cifara, 10 minuta). Svaki POST verificiran HMAC CSRF tokenom. SQL injection nemoguć zahvaljujući 100% PDO prepared statements. Admin panel na tajnom konfigurabilnom URL-u. Jedan od zanimljivijih detalja: Safari browser gubi session cookie između dva POST zahtjeva zbog SameSite=Lax politike — zahtijevalo je specifičan fix u session_regenerate_id() logici.

Tehnički detalji

  • 115 PHP fajlova, 33+ tabela baze podataka 
  • PHP 8.4 bez eksternih frameworka — potpuna kontrola nad kodom
  • Vanilla JavaScript, bez jQuery
  • Responsivan dizajn bez CSS frameworka
  • Apache .htaccess routing