
Svaki projekt koji radimo u Mlinarić Development koristi isti provjereni stack. Nije slučajnost - svaka tehnologija je odabrana nakon godina eksperimentiranja. U ovom članku objašnjavamo zašto baš ove tehnologije i kako se uklapaju u cjelinu.
Arhitektura: Frontend + API + Baza
Moderna web aplikacija ima tri sloja. Svaki radi ono u čemu je najbolji:
- Frontend - ono što korisnik vidi (UI, navigacija, interakcija)
- Backend API - poslovna logika, autentikacija, AI obrada
- Baza podataka - trajno skladištenje podataka
Ovakva podjela znači da možete promijeniti frontend bez da dirate backend, skalirati API neovisno o frontendu, ili zamijeniti bazu ako treba. U praksi se to rijetko radi - ali sama mogućnost čini sustav fleksibilnim.
Frontend: Nuxt 3 (Vue.js)
Nuxt 3 je framework izgrađen na Vue.js koji donosi SSR (Server-Side Rendering), automatski routing baziran na file sustavu i odlične SEO mogućnosti.
Zašto Nuxt, a ne React/Next.js?
- Vue.js je intuitivniji - template syntax je bliži HTML-u, lakši za razumijevanje
- Composition API - moderna reaktivnost bez boilerplate koda
- File-based routing - kreirate datoteku u
pages/, imate rutu - Auto-imports - ne trebate importati
ref,computed, komponente... - Cloudflare Pages - deploy u sekundi, globalni CDN, besplatno za većinu projekata
Za styling koristimo Tailwind CSS. Utility-first pristup znači da ne pišemo custom CSS osim za kompleksne animacije. Sve je u HTML-u, čitljivo i maintainable.
Backend: Python FastAPI
FastAPI je Python framework koji je brz kao Go/Node.js zahvaljujući asinkronom izvršavanju, a piše se elegantno kao Flask.
- Type hints - Python tipovi automatski generiraju API dokumentaciju (Swagger/OpenAPI)
- Async/await - native podrška za paralelne operacije (API pozivi, baza, AI)
- Validacija - Pydantic modeli validiraju input automatski, bez ručnog provjeravanja
- Python ekosistem - pristup svim AI/ML bibliotekama, data processing, automations
Zašto Python, a ne Java/Spring Boot za backend? Brzina razvoja. Ono što u Javi treba 200 linija, u FastAPI-ju treba 30. Za enterprise s 50+ developera, Java ima smisla. Za boutique tim - Python pobjeđuje.
Baza: PostgreSQL
PostgreSQL je jedina baza koju preporučujemo za 99% slučajeva:
- Besplatna i open source - nema licencnih troškova, nema iznenađenja
- JSON podrška - kombinacija relacijskih i NoSQL mogućnosti u jednoj bazi
- Skalabilna - od hobby projekta do enterprise sustava s milijunima redova
- Schema izolacija - više aplikacija u jednoj instanci, svaka u svom schema-u
Koristimo Docker za PostgreSQL na produkciji. Jedan container, backup svakih 6 sati, restore u minutama. Jednostavno i pouzdano.
AI sloj: Claude API
AI nije buzzword - to je alat koji konkretno ubrzava rad. U našim projektima Claude API koristi se za:
- Generiranje sadržaja - emailovi, izvještaji, opisi proizvoda
- Analizu podataka - izvlačenje insighta iz velikih dataset-ova
- Automatizaciju odluka - kategorizacija, routing, prioritizacija
- Pametne integracije - parsiranje nestrukturiranih podataka (PDF, email, web)
Ključ je znati kada koristiti AI, a kada ne. Za determinističke operacije (izračun cijene, validacija OIB-a) - klasičan kod. Za sve gdje treba "razumijevanje" teksta ili konteksta - AI.
Infrastruktura: OCI + Cloudflare
Naš deployment pipeline:
- Frontend: Cloudflare Pages - automatski deploy iz Git-a, globalni CDN, SSL
- Backend: Oracle Cloud (OCI) VM - Docker containerima, iza load balancera
- API routing:
api.mdev.hrs path-based routingom na različite servise - DNS + CDN: Cloudflare - cache, DDoS zaštita, SSL termination
OCI je underrated. Always Free tier daje ARM VM s 4 OCPU i 24 GB RAM-a - besplatno, zauvijek. To je dovoljno za 5-10 manjih servisa u Docker containerima.
Sve zajedno
Kad korisnik otvori jednu od naših aplikacija, dogodi se sljedeće:
- Cloudflare servira statički frontend (Nuxt SSG) sa najbližeg edge-a
- Vue.js se hidratira i preuzima interaktivnost
- API pozivi idu na
api.mdev.hr→ Cloudflare proxy → OCI Load Balancer → Docker container - FastAPI procesira request, po potrebi pozove Claude API ili PostgreSQL
- Odgovor ide nazad istim putem - cijeli round-trip u 100-300ms
Ovaj stack koristimo za sve naše projekte - od AI Asistenta do internih automatizacija. Provjereno radi, jednostavno za održavanje, lako za skaliranje.
FAQ
Koliko košta ovakav stack?
Za hosting: praktički ništa. Cloudflare Pages je besplatan, OCI Always Free tier isto. Jedini realni trošak je Claude API (~5-20 EUR mjesečno za tipičan projekt) i domena (~10 EUR godišnje).
Mogu li koristiti ovaj stack za svoj projekt?
Apsolutno. Sve navedene tehnologije su open source ili imaju besplatne tierove. Ako trebate pomoć s postavljanjem - kontaktirajte nas.
Što ako trebam nešto što ovaj stack ne pokriva?
Stack je fleksibilan. Trebate real-time? Dodamo WebSocket. Trebate mobile? Nuxt podržava PWA. Trebate ML model? Python ekosistem ima sve. Osnova ostaje ista, nadogradnje su modularne.
Besplatni audit vaših alata
Koliko alata koristite? Koliko vas koštaju? Gdje gubite vrijeme? Javite nam se za besplatan pregled - bez obveze, bez prodajnog pitcha.
Ili pišite direktno na marko@mdev.hr
