Laravel razvoj je najbrži način koji poznajemo da se poslovni proces pretvori u pouzdanu web aplikaciju bez ponovnog izmišljanja osnova. Laravel odmah donosi routing, ORM, redove poslova (queues), zakazane zadatke, keširanje, slanje emailova, autentifikaciju i testiranje, uz dosljedan stil zbog kojeg je kod čitljiv i godinama kasnije. Tako budžet odlazi na ono što je jedinstveno za vaše poslovanje – pravila, procese i integracije – umjesto na infrastrukturni kod.
Sadržaj
U CodeWizu razvijamo Laravel aplikacije, API-je i admin panele po mjeri, dizajniramo baze podataka na kojima počivaju i implementiramo autentifikaciju koja je sigurna, a da korisnicima ne smeta. Preuzimamo i postojeće Laravel projekte: nadograđujemo stare verzije, raspetljavamo kontrolere koji su narasli na hiljade linija i dodajemo testove koji su trebali postojati od početka.
Usluga je namijenjena firmama kojima treba portal za klijente, sistem za rezervacije ili narudžbe, interni alat, marketplace ili SaaS proizvod; timovima kod kojih su tabele i email prepiske postale pravi „sistem”; te vlasnicima Laravel aplikacija koje su postale spore, krhke ili zaglavljene na verziji koja više nije podržana.
Laravel aplikacije po mjeri vašeg poslovanja
Svaka Laravel aplikacija koju pravimo kreće od domena, a ne od frameworka: šta korisnici rade, koja pravila se nikada ne smiju prekršiti, šta se dešava kada plaćanje ne prođe ili dobavljač kasni. Framework nam zatim za svaku od tih potreba daje dobro testirane gradivne blokove.
Šta gradimo u Laravelu
- Portale za klijente i partnere sa nalozima, dokumentima, narudžbama i fakturama.
- Sisteme za rezervacije, zakazivanje i termine sa pravilima dostupnosti i podsjetnicima.
- Interne alate i back office sisteme koji zamjenjuju tabele, često uz Filament admin panel.
- SaaS proizvode sa pretplatama, timovima, ulogama i ograničenjima korištenja.
- Integracione centre koji sinhronizuju podatke između online prodavnice, ERP-a, CRM-a i računovodstvenog softvera.
Arhitektura koja ostaje održiva
Kontroleri ostaju tanki. Validacija živi u Form Requestovima, autorizacija u Policyjima, a poslovne operacije u malim Action klasama sa jednom svrhom, koje se mogu pozvati iz kontrolera, queued joba, Artisan komande ili testa. Sporedni efekti poput emailova ili webhookova pokreću se kroz evente, pa osnovna logika ostaje čitljiva:
final class PlaceOrder
{
public function __construct(private PaymentGateway $payments) {}
public function handle(Customer $customer, array $lines): Order
{
return DB::transaction(function () use ($customer, $lines) {
$order = $customer->orders()->create(['status' => 'pending']);
$order->lines()->createMany($lines);
$this->payments->authorize($order);
OrderPlaced::dispatch($order);
return $order;
});
}
}Spori poslovi – generisanje PDF-ova, uvozi, emailovi, pozivi vanjskih API-ja – izvršavaju se u redovima koje nadziremo kroz Laravel Horizon, a ponavljajući zadaci koriste ugrađeni scheduler umjesto gomile cron unosa. Za interfejs obično biramo Livewire kod aplikacija sa mnogo administracije, a Inertiju sa Vueom ili Reactom kada je frontend izrazito interaktivan. Svaki projekat dobija automatske testove u Pestu, stil koda koji provodi Laravel Pint i statičku analizu Larastanom u CI-ju.

Razvoj Laravel API-ja za aplikacije, partnere i integracije
Laravel je odlična osnova za API-je koji služe mobilnoj aplikaciji, JavaScript frontendu ili vanjskim partnerima. Dobar API je predvidiv: dosljedni URL-ovi, dosljedan format grešaka, stabilne verzije i dokumentacija koja odgovara kodu.
Kako gradimo Laravel API-je
- API Resources oblikuju svaki odgovor, pa kolone iz baze nikada ne cure direktno, a format ostaje stabilan kada se šema promijeni.
- Verzionisane rute (
/api/v1), kako bi postojeće aplikacije nastavile raditi dok se objavljuju nove funkcije. - Sanctum tokeni sa ovlaštenjima (abilities) za vlastite aplikacije i partnere, te OAuth2 sa Passportom kada treće strane trebaju delegirani pristup.
- Cursor paginacija, filtriranje i biranje polja za velike kolekcije podataka.
- Idempotency ključevi na endpointima koji kreiraju narudžbe ili plaćanja, tako da ponovljeni zahtjev nikada ne napravi duplikat.
- Automatski generisana OpenAPI dokumentacija uz Scribe ili Scramble, uvijek usklađena sa kodom.
Route::middleware(['auth:sanctum', 'throttle:api'])
->prefix('v1')
->group(function () {
Route::apiResource('orders', OrderController::class);
});
class OrderResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'status' => $this->status,
'total_cents' => $this->total_cents,
'lines' => OrderLineResource::collection($this->whenLoaded('lines')),
'created_at' => $this->created_at->toIso8601String(),
];
}
}Imenovani rate limiteri u Laravelu štite endpointe po korisniku, tokenu ili IP adresi – principe smo opisali u našem kompletnom vodiču za API rate limiting. Sa druge strane, vanjske API-je koje koristimo pakujemo u posebne klijentske klase uz Laravelov HTTP klijent, sa timeoutima, ponovnim pokušajima i lažiranim odgovorima u testovima, kako spor API dobavljača ne bi oborio i vašu aplikaciju.
Dizajn baze podataka za Laravel aplikacije
Većina problema sa performansama u Laravel aplikacijama su zapravo problemi sa bazom: indeksi koji nedostaju, N+1 upiti skriveni iza Eloquent relacija ili šema koja je imala smisla za prvu funkciju, a niko je kasnije nije preispitao. Dobar dizajn baze na početku je jeftiniji od bilo koje količine keširanja kasnije.
Naš pristup
- Normalizovana šema sa stvarnim stranim ključevima i ograničenjima, tako da neispravni podaci ne mogu ući čak ni kada se provuče bug.
- Novac se čuva kao cijeli broj u najmanjoj jedinici valute, vrijeme u UTC-u, a statusi kao enumi umjesto slobodnog teksta.
- Kompozitni indeksi dizajnirani za stvarne upite i provjereni sa
EXPLAINna realnoj količini podataka. - Eager loading kao podrazumijevani pristup i
Model::preventLazyLoading()u razvoju, kako bi N+1 upiti glasno pukli prije nego što stignu u produkciju. - Svaka izmjena kao migracija u Gitu, uz obrasce bez prekida rada (dodaj, popuni, prebaci, ukloni) za velike tabele.
Schema::create('orders', function (Blueprint $table) {
$table->id();
$table->foreignId('customer_id')->constrained()->cascadeOnDelete();
$table->string('status', 20);
$table->unsignedBigInteger('total_cents');
$table->timestamps();
$table->index(['customer_id', 'status', 'created_at']);
});MySQL ili PostgreSQL?
| Kriterij | MySQL / MariaDB | PostgreSQL |
|---|---|---|
| Dostupnost na hostingu | Svuda, uključujući shared i managed hosting | Široko dostupan na VPS-u i managed cloud bazama |
| JSON i napredni tipovi | Dobra podrška za JSON | Odlična: JSONB sa indeksima, nizovi, opsezi, vlastiti tipovi |
| Full-text i geo pretraga | Osnovni full-text | Snažan full-text, PostGIS za geoprostorne podatke |
| Tipična primjena uz Laravel | Klasične poslovne aplikacije, prodavnice, postojeći MySQL sistemi | SaaS sa mnogo podataka, izvještaji, multi-tenant i geo funkcije |
Za multi-tenant SaaS biramo između zajedničke baze sa kolonom tenant_id u svakoj tabeli (jednostavno, jeftino, provodi se kroz global scopes) i posebne baze za svakog klijenta (jača izolacija, lakši backup po klijentu, više operativnog posla). Kada podaci prerastu jedan server, na red dolaze particioniranje i sharding – više u našem vodiču o shardingu i particioniranju baze podataka.

Sistemi autentifikacije i kontrola pristupa u Laravelu
Autentifikacija je mjesto gdje prečice postaju sigurnosni incidenti. Laravel dolazi sa odličnim, provjerenim gradivnim blokovima, a naš posao je da izaberemo prave i ispravno ih povežemo za vaše korisnike.
| Paket | Šta radi | Kada ga koristiti |
|---|---|---|
| Starter kitovi (Livewire, Vue, React) | Gotovi ekrani za prijavu, registraciju, reset lozinke i profil | Nova aplikacija brzo treba standardne ekrane za prijavu |
| Fortify | Headless backend za autentifikaciju: prijava, registracija, 2FA, verifikacija emaila | Želite vlastiti interfejs na provjerenom backendu |
| Sanctum | Autentifikacija SPA aplikacija preko kolačića i lični API tokeni sa ovlaštenjima | Vaša SPA ili mobilna aplikacija komunicira sa vašim API-jem |
| Passport | Kompletan OAuth2 server | Aplikacije trećih strana trebaju delegirani pristup podacima korisnika |
| Socialite | Prijava preko Google, Microsoft, GitHub, Apple i drugih naloga | Korisnici se trebaju prijavljivati postojećim nalozima |
Šta uključuje kompletan sistem autentifikacije
- Dvofaktorsku autentifikaciju uz TOTP aplikacije i rezervne kodove, te passkeyje kada je publika spremna za njih.
- Single sign-on za kompanije: OpenID Connect sa Microsoft Entra ID, Google Workspaceom ili Keycloakom, te SAML kada ga zahtijeva veliki klijent.
- Uloge i dozvole kroz Policyje, Gateove i spatie/laravel-permission, uključujući uloge vezane za tim ili klijenta (tenant).
- Ograničenje pokušaja prijave, sigurne kolačiće sesije, poništavanje sesija nakon promjene lozinke i listu aktivnih uređaja.
- Audit log prijava i osjetljivih radnji, što mnogi B2B klijenti traže prilikom nabavke.
Zvanična Laravel dokumentacija o autentifikaciji daje dobar pregled kako se ovi dijelovi uklapaju.
Alati iz Laravel ekosistema na koje se oslanjamo
- Horizon za nadzor redova poslova, Pulse za zdravlje aplikacije i Telescope za lokalni debugging.
- Reverb za vlastiti WebSocket server – notifikacije i dashboardi uživo bez plaćenog servisa.
- Octane sa FrankenPHP-om ili Swooleom kada broj zahtjeva opravdava aplikacioni server koji stalno radi.
- Filament za admin panele i interne alate čija bi ručna izrada trajala sedmicama.
- Scout sa Typesenseom ili Meilisearchom kada korisnicima treba brza pretraga otporna na greške u kucanju.
- Pest, Pint i Larastan za testove, dosljedan stil i statičku analizu na svakom pull requestu.
Nadogradnja i spašavanje postojećih Laravel projekata
Mnoge Laravel aplikacije koje vidimo napravljene su na brzinu, a zatim ostavljene na staroj verziji dok je posao nastavio rasti. Starije verzije Laravela i PHP-a prestaju dobijati sigurnosne zakrpe, a svaka godina bez nadogradnje otežava sljedeći skok.
- Počinjemo analizom: verzije Laravela i PHP-a, napušteni paketi, pokrivenost testovima, spori upiti i sigurnosni propusti.
- Nadogradnja ide jednu po jednu glavnu verziju, uz automatski refactoring kroz Rector i testove koje prvo napišemo za ključne tokove.
- Prevelike kontrolere i modele postepeno dijelimo na akcije, jobove i policyje, bez rizičnog prepisivanja od nule.
- Rezultat je podržana verzija frameworka, CI pipeline koji prolazi i kod na kojem novi programeri mogu raditi.
Deployment i hosting Laravel aplikacija u produkciji
Laravel aplikacija je više od web servera: trebaju joj queue workeri, scheduler, cache, često WebSocketi i skladište za uploadovane fajlove. Postavljamo deployment bez prekida rada sa atomskim izdanjima, workere pod nadzorom Supervisora ili systemd-a, Redis za cache, sesije i redove poslova, te S3-kompatibilno skladište za fajlove. Zavisno od projekta, sve to radi na VPS-u kojim se upravlja preko open-source hosting panela, u Docker kontejnerima ili na managed cloud platformi. Keširanje konfiguracije i ruta te OPcache dio su svakog produkcijskog deploymenta.
Kada je Laravel pravi izbor – a kada nije
Laravel se ističe kod poslovnih aplikacija sa stvarnom logikom, korisnicima i podacima. Ipak, nije uvijek najbolji alat:
- Za marketinški sajt ili blog u kojem je sadržaj u centru, WordPress urednicima nudi više odmah po instalaciji.
- Za mali API ili mikroservis sa jednom svrhom, mikro-framework poput Flighta ili Slima može biti vitkiji.
- Za zahtjevna real-time opterećenja sa hiljadama trajnih konekcija, Node.js servis pored Laravela može biti bolje rješenje.
Pošto radimo sa svim ovim tehnologijama, naša preporuka se zasniva na vašim zahtjevima, a ne na tome šta slučajno prodajemo.

Kako radimo
- Upoznavanje: mapiramo vaše korisnike, procese, podatke i integracije, te pregledamo postojeći kod ili tabele koje aplikacija treba zamijeniti.
- Plan: dizajniramo domenski model, šemu baze, API ugovore i pristup autentifikaciji, a posao dijelimo na faze.
- Izrada: razvijamo u kratkim iteracijama, uz staging okruženje koje svake sedmice možete isprobati.
- Testiranje: automatski feature i unit testovi, testovi opterećenja na ključnim endpointima i sigurnosni pregled autentifikacije i autorizacije.
- Pokretanje: deployment bez prekida rada, migracija podataka iz starih sistema, monitoring i praćenje grešaka od prve minute.
- Podrška: nadogradnje frameworka i zavisnosti, nove funkcije i optimizacija performansi kako korištenje raste.
Zašto CodeWiz
- Full-stack Laravel: backend, bazu podataka, frontend, DevOps i hosting radi isti tim.
- Rješenja po mjeri: modelujemo vaša stvarna poslovna pravila, umjesto da ih guramo u generički paket.
- Open-source na prvom mjestu: Laravel, Filament, Reverb, Redis i PostgreSQL drže troškove licenci na nuli, a vaš kod prenosivim.
- Performanse i sigurnost od prvog dana: indeksi, redovi poslova, keširanje i zaštićena autentifikacija su dio izrade.
- Fer cijene: vrhunski razvoj bez vrhunskih cijena, iz Banje Luke, uz rad na daljinu sa klijentima iz regiona i svijeta – saznajte više o CodeWizu.
Često postavljana pitanja
Koliko košta Laravel razvoj?
Zavisi od broja korisničkih uloga, ekrana, integracija i složenosti poslovnih pravila. Fokusiran interni alat je mnogo manji projekat od multi-tenant SaaS-a sa naplatom i SSO-om. Jasnu procjenu podijeljenu po fazama dajemo nakon faze upoznavanja.
Koliko traje izrada Laravel aplikacije?
Prva upotrebljiva verzija fokusirane aplikacije često traje nekoliko sedmica, a veće platforme nekoliko mjeseci. Radije rano pokrećemo manju verziju i nadograđujemo je, pa vrijednost vidite ranije, a plan razvoja vodi stvarno korištenje.
Da li je Laravel siguran?
Laravel podrazumijevano štiti od SQL injectiona, cross-site scriptinga i CSRF napada, a ima i dobro održavane pakete za autentifikaciju. Većina sigurnosnih problema nastaje zbog načina na koji je aplikacija napravljena – nedostaju provjere autorizacije, mass assignment, uključen debug mode – pa upravo to izričito provjeravamo prije pokretanja.
Možete li preuzeti ili nadograditi naš postojeći Laravel projekat?
Možemo. Analiziramo kod, dodajemo testove oko ključnih funkcija, korak po korak nadograđujemo Laravel i PHP i postepeno sređujemo arhitekturu, tako da aplikacija sve vrijeme radi.
Laravel ili Node.js za naš backend?
Oba su dobar izbor. Laravel je obično brži za razvoj poslovnih aplikacija sa admin panelima, formama i složenim pravilima, a Node.js odgovara real-time opterećenjima i timovima koji rade isključivo u JavaScriptu. Radimo sa oba i često ih kombinujemo.
Spremni za vašu Laravel aplikaciju?
Opišite nam proces koji želite automatizovati ili aplikaciju koja vam treba, a mi ćemo predložiti arhitekturu, faze i procjenu. Kontaktirajte nas da započnemo razgovor ili pogledajte cijelu ponudu naših usluga Laravel razvoja.