Leto Halkidiki: od WordPress-a do Laravel portala
Leto Halkidiki je portal za privatni smeštaj na Halkidikiju koji sam prebacio sa WordPress-a na Laravel. Nova struktura povezuje destinacije, mesta i objekte na četiri jezika, uz administraciju ponude i upite vlasnicima mejlom. Projekat pokazuje kako sadržaj, pretraga i poslovni podaci mogu da rade u jednom namenskom sistemu.
Autor: Petar Arsić · Ažurirano:
jezika: sr, en, ro, el
portal i admin panel
upiti vlasnicima smeštaja
Polazni problem
Postojeći WordPress sajt trebalo je zameniti portalom čiji model podataka prati stvarnu organizaciju smeštaja. Zadatak je bio da isti objekat ima uređene opise, fotografije, cene, lokaciju i kontakt, povezane sa mestom i destinacijom.
- Ponudu organizovati kroz destinacije, mesta i smeštajne objekte, uz jasne veze između njih.
- Omogućiti uređivanje sadržaja na srpskom, engleskom, rumunskom i grčkom, bez pravljenja nepovezanih kopija objekta.
- Napraviti administraciju za svakodnevni unos ponude i pregled upita.
- Pripremiti pretragu i stranice smeštaja koje gosta vode do direktnog kontakta sa vlasnikom.
Obim prikazanog rešenja je javni portal, admin panel i prijem upita. Automatsko rezervisanje slobodnih datuma i naplata smeštaja nisu deo trenutno potvrđenog toka.
Rešenje
Izgradio sam Laravel aplikaciju sa Blade šablonima, Tailwind stilovima, Alpine.js interakcijama i MySQL bazom. Podaci o destinacijama, mestima, objektima i vlasnicima povezani su u zajednički model. Gost dobija preglednu ponudu, dok administrator menja sadržaj i cene kroz panel prilagođen smeštaju. Prevedena polja koriste spatie/laravel-translatable. Rešenje ne zahteva poseban JavaScript frontend da bi prikazalo osnovni sadržaj stranice.
Kako je portal organizovan
Javne stranice prate hijerarhiju destinacija → mesto → smeštaj. Jezik se nalazi na početku adrese, a pojedini delovi putanje koriste odgovarajuće slugove. Administracija je zasebna, zaštićena prijavom i namenjena radu na srpskom.
Javne stranice
Blade prikazuje stranice destinacija, mesta i smeštaja. Alpine.js podržava interakcije, a Tailwind oblikuje prikaz za mobilne i veće ekrane. Posetilac može da pregleda ponudu i pređe na stranicu konkretnog objekta.
Strukturisana ponuda
Modeli povezuju objekat sa vlasnikom i mestom, a mesto sa destinacijom. Smeštaj ima fotografije, sadržaje i jedinice. Sezonski periodi i cene jedinica omogućavaju prikaz cenovnika i obračun ponude za unete datume kada postoje potrebni podaci.
Četiri jezičke verzije
Konfiguracija navodi sr, en, ro i el. Prevedivi opisi, nazivi i meta podaci čuvaju se preko spatie/laravel-translatable, dok zajednički poslovni podaci ostaju vezani za isti objekat. Prevod se tako uređuje bez gubitka veze sa smeštajem.
Admin panel
Administracija obuhvata destinacije, mesta, vlasnike, smeštaj, fotografije, cenovnike i upite. Aktivacija i redosled ponude kontrolišu šta posetilac vidi. Upiti imaju pregled podataka i mogućnost ponovnog slanja mejla kada je to potrebno.
Od pretrage do upita vlasniku
Izbor destinacije
Gost pronalazi oblast, mesto ili smeštaj i sužava ponudu prema podacima koji su mu važni.
Pregled objekta
Stranica smeštaja prikazuje opis, fotografije, lokaciju, sadržaje i podatke o ceni kada su uneti.
Unos boravka
Datumi i broj gostiju mogu da služe za obračun na osnovu cenovnika. Prikazana cena nije potvrda slobodnog termina.
Slanje upita
Gost šalje kontakt i podatke o željenom boravku. Upit se beleži u bazi, pa postoji evidencija i ako slanje mejla ne uspe.
Obaveštenje vlasniku
Poruka odlazi vlasniku ili podešenom sandučetu portala kada kontakt vlasnika nije dostupan. Administracija može da proveri upit i slanje.
Direktan dogovor
Vlasnik i gost dalje dogovaraju raspoloživost i uslove. Portal ne prikazuje taj korak kao automatski završenu rezervaciju.
SEO i uređivanje sadržaja
Jasna hijerarhija adresa
URL-ovi pokazuju kojoj destinaciji i mestu objekat pripada. Stranice međusobno povezuju ponudu, tako da posetilac može da se vrati na širi izbor, a pojedinačan objekat ima sopstvenu adresu.
Meta podaci po stranici i jeziku
Modeli sadrže prevediva polja za meta naslov i opis. Administracija omogućava da se oni prilagode stranici, umesto da sve destinacije ili objekti koriste isti opšti opis.
Hreflang i sitemap
Kod gradi alternativne adrese iz jezičkih slugova i ne dodaje putanju kojoj nedostaje potreban prevod sluga. Sitemap i veze među jezičkim verzijama podržavaju pronalaženje odgovarajućih javnih stranica.
Cene bez lažne dostupnosti
Uneti cenovnik može da izračuna cenu boravka, ali model ne vodi slobodne i zauzete datume. Tu granicu je važno zadržati u prikazu: rezultat obračuna nije obećanje da vlasnik može da potvrdi traženi termin.
Moja uloga
Radio sam na prelasku sa WordPress-a na Laravel, strukturi podataka, javnom prikazu, administraciji i tehničkoj SEO osnovi portala. Posao povezuje ono što gost vidi sa načinom na koji se ponuda održava. Naglasak je na jasnom modelu smeštaja i pouzdanom prijemu upita, uz prostor za kasnije zasebno ugovorene funkcije.
Rezultat koji može da se proveri
Rezultat je javni portal na četiri jezika, sa hijerarhijom destinacija, mesta i objekata, administracijom sadržaja i upitima mejlom. Broj aktivnih objekata se menja i ovde ga ne predstavljam kao trajan rezultat. Nema potvrđenih podataka o rastu organskog saobraćaja, pozicija ili prihoda, pa takve tvrdnje ne navodim.
Tehnologije
Povezane usluge
Turistički i smeštajni portali
Custom turističke platforme sa listinzima, destinacijama, filterima, formama za upit i admin panelima — slična funkcionalnost kao Nikana ili Grčka Info, originalan dizajn.
Pročitaj višeLaravel Aplikacije
Produkcioni Laravel backend-i, API-ji i poslovne aplikacije izgrađeni za pouzdanost.
Pročitaj višeRedizajn sajta
Redizajnirajte i rebuild-ujte sajt za bolje performanse, UX, SEO i lakše održavanje.
Pročitaj višePogledajte portal
Na živom sajtu možete da pregledate destinacije, objekte i način predstavljanja smeštaja. Kontakt sa vlasnikom je upit za proveru uslova, ne automatska kupovina.
Srodna rešenja i vodiči
Planirate portal ili sajt za smeštaj?
Opišite ponudu, jezike i način obrade upita. Na osnovu stvarnog procesa predložiću obim, rok i fiksnu cenu razvoja.
Razgovarajmo o projektu