Studija slučaja

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: · Ažurirano:

4

jezika: sr, en, ro, el

Laravel

portal i admin panel

Email

upiti vlasnicima smeštaja

01

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.

02

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.

03

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.

WEB

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.

DATA

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.

LANG

Č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.

ADM

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.

04

Od pretrage do upita vlasniku

01

Izbor destinacije

Gost pronalazi oblast, mesto ili smeštaj i sužava ponudu prema podacima koji su mu važni.

02

Pregled objekta

Stranica smeštaja prikazuje opis, fotografije, lokaciju, sadržaje i podatke o ceni kada su uneti.

03

Unos boravka

Datumi i broj gostiju mogu da služe za obračun na osnovu cenovnika. Prikazana cena nije potvrda slobodnog termina.

04

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.

05

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.

06

Direktan dogovor

Vlasnik i gost dalje dogovaraju raspoloživost i uslove. Portal ne prikazuje taj korak kao automatski završenu rezervaciju.

05

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.

06

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.

07

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

Laravel 12.69.2BladeTailwind CSSAlpine.jsMySQLspatie/laravel-translatable

Pogledajte 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.

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