Ako krećeš od nule (ili imaš osnovu), najveći problem nije motivacija, nego haos: šta tačno učiti, kojim redom, koliko duboko i kako da ne zaglaviš na sitnicama.
U ovom tekstu dobijaš jasan roadmap koji te vodi od osnova web-a do toga da možeš samostalno da napraviš i objaviš ozbiljan projekat. Idemo redom: kako browser priča sa serverom, gdje žive podaci, kako se grade API-ji, kako funkcionišu login i dozvole, kako se radi Git i deployment — i sve to kroz konkretne mini-zadatke, da ne ostaneš na teoriji.
Kad taj temelj sjedne, prelazimo na stack za moderne projekte i način rada sa AI alatima: kako da planiraš, iscjepaš scope, pišeš dobre promptove, debug-uješ i dovedeš app do produkcije, umjesto da ostaneš na “radi mi na mom računaru”.
Na kraju, prolazimo i kroz nekoliko realnih načina da od ovoga kreneš da zarađuješ, tako da znaš šta ti je najbolji prvi korak, zavisno od toga da li ciljaš klijente ili praviš nešto svoje.
Sadržaj
- Uvod
- Osnova i temelj
- HTML, CSS, JavaScript
- Client-Server & HTTP requests
- Baze podataka (SQL)
- CRUD
- API, Webhooks, JSON
- Authentication & Authorization
- Version Control (Git)
- Deployment
- Tehnologije u kojima ćete raditi projekte
- NextJS
- Supabase
- AI / Vibe Coding
- Bonus kursevi
- 5 načina za zaradu
Uvod
Posao će izgubiti programeri koji znaju samo da pišu kod, a ne razumiju softverske sisteme i arhitekturu, jer je pisanje koda riješeno pitanje. Nekada si mogao da budeš dobro plaćen samo zato što znaš da pišeš kod i imaš neko osnovno razumijevanje softvera. Sada je pisanje koda jeftino, svako može da piše kod uz AI, koji je 1000 puta brži od čovjeka.
A programiranje gdje vam AI piše čitav kod, zove se Vibe Coding. U budućnosti ćemo svi biti vibe coderi, neće postojati developer koji samostalno piše kod. Ovo čini kod jeftinim.
Na čovjeku ostaje da osmisli pravilnu i dobru arhitekturu softvera, što je čini skupom. Zato ne treba da budeš software developer, već software architect.
A da bi to postao, potrebno je da imaš široko razumijevanje softvera i svih komponenti koje čine jedan kompletan softverski proizvod.
U ovom PDF dokumentu ti objašnjavam šta da učiš korak po korak da bi bio uspješan u ovome, i kako da zaradiš.
Napomena 1: Kursevi prikazuju implementaciju određenih koncepata kroz Python, JS, PHP itd. Zaista nije važno koji se jezik koristi, bitno je shvatiti kako stvari funkcionišu. Svakako će AI da nam piše kod, tako da jezik nije mnogo bitan.
Napomena 2: Vremenski okviri su određeni po mom subjektivnom osjećaju. Pokušao sam da budu što realniji, ali ipak će nekome trebati više, a nekome manje vremena.
Osnova i temelj
U ovom dijelu prolazimo kroz osnovne koncepte bez kojih se ne može. Nekome će trebati više, nekome manje vremena, sve zavisi kakvo predznanje imate i koliko duboko želite da uđete u materiju.
HTML, CSS, JavaScript
Timing: oko 2 mjeseca.
Prije svega treba da pomenemo ono što se možda i podrazumijeva i nešto bez čega se ne može, a to su HTML i CSS, pa JavaScript. Ne morate da znate sve napamet i da budete pro, dovoljno je da prođete neki kurs i da uradite možda jedan projekat sami bez AI-a.
Kursevi za učenje:
#1 Vježba / zadatak: uradi 1 mali sajt bez AI (npr. landing page sa više sekcija + responsive).
#2 Vježba / zadatak: ispratiti sve zadatke sa JS kursa, bez AI. Dodatno odraditi jedan manji samostalan projekat.
Client-Server & HTTP requests
Timing: oko 1 sedmica.
Treba da razumijete kako klijent, odnosno browser, komunicira sa serverom. To uključuje razumijevanje HTTP requestova. Ovo je jedna od osnovnih stvari koje treba da naučite, jer na ovom principu počiva komunikacija servisa na web-u, i kasnije će vam ovo biti posebno potrebno kada budete sklopili frontend i backend zajedno.
Kursevi za učenje:
Vježba / zadatak: pošalji GET/POST request ka nekom javnom API-u i prikaži rezultat na stranici. Koristi Postman i JS za ovo.
Baze podataka (SQL)
Timing: 3 sedmice.
Onda pređite na SQL baze podataka. Naučite šta je to, kako se pišu upiti, kako funkcionišu tabele i relacije između tabela. Baze su temelj svakog projekta. Projektovanje baze je jedan od prvih koraka u razvoju web aplikacije. Ovo se mora dobro znati. Čitava struktura projekta i podataka leži u projektovanju baze.
Kursevi za učenje:
- PHP & SQL Kurs (od 3:53:25h do 5:10:40h)
- Learn SQL Beginner to Advanced in Under 4 Hours
Vježba / zadatak: dizajniraj bazu za jednostavan app (npr. task manager) i napiši osnovne SQL upite.
CRUD
Timing: 1 sedmica.
Još jedan od bitnih koncepata web-a je CRUD. Ovo je posebno vezano za backend. U bazi podataka svakog projekta imamo više tabela, naprimjer imamo tabelu za korisnike, tabelu za dokumenta, tabelu za role, tabelu za kategorije itd. I na svakoj od tih tabela vi možete da odrađujete određene akcije, kao što su kreiranje, odnosno dodavanje podataka, čitanje podataka, mijenjanje podataka i brisanje podataka. To na engleskom možemo reći Create, za kreiranje, Read za čitanje, Update za mijenjanje, i Delete za brisanje. Iz toga svega zajedno izvlačimo skraćenicu CRUD. Veliki dio funkcionalnosti svake web aplikacije, nije ništa više nego CRUD. Evo recimo aplikacija gdje imate mogućnost da se registrujete kao korisnik. Registracija je kreiranje korisnika, onda kada uđete na vaš profil vidite vaše podatke, to je čitanje, pa možete da izmijenite vaše podatke, to je update, i na kraju imate opciju da obrišete vaš profil. Eto, kao što vidite, sve ove funkcije stanu u taj CRUD.
Kursevi za učenje:
Vježba / zadatak: napravi CRUD za jednu tabelu (npr. “tasks”) i testiraj sve operacije.
API, Webhooks, JSON
Timing: 3 sedmice.
Ono što povezuje frontend i backend je API, i ne samo da čini kanal komunikacije između dijelova naše aplikacije, nego takođe, API koristimo da komuniciramo sa eksternim servisima kao što je Stripe recimo. Međutim, eksterni servisi nisu toliko bitni, koliko je bitno da vi znate da napravite API endpoints za vaš backend. I onda kasnije koristite taj vaš API kako biste nakačili frontend dio aplikacije. Dakle, frontend šalje neke podatke backendu preko API-a, i obrnuto, a ti podaci se uglavnom šalju u JSON formatu. JSON je standard kako treba da struktuiramo podatke koji idu kroz API. Usko povezano sa ovim, imamo i Webhooks. To je zapravo obrnut smjer komunikacije. Recimo integrišemo Stripe kao payment procesor, i napravićemo Webhook koji će da nam javi da je plaćanje uspješno izvršeno kako bismo mi to zabilježili u našoj bazi. Možda sada ovo zvuči konfuzno i apstraktno, ali kroz kreiranje realnih projekata ćete sve shvatiti kako treba.
Kursevi za učenje:
- Šta je API i kako funkcioniše?
- Šta je i kako radi AJAX / API / JSON / ASYNCHRONOUS JS?
- REST API Crash Course - Introduction + Full Python API Tutorial
Vježba / zadatak: napravi mini backend sa 2-3 endpointa i vrati JSON, pa spoji sa jednostavnim frontend prikazom.
Authentication & Authorization
Timing: 2 sedmice (ako sve prethodno dobro savladate).
Naučite kako funkcioniše Authentication, kako se pravi login, registracija, kako se radi API authentication, koje vrste autentikacije postoje itd. Pored toga, postoji i nešto što se zove Authorization, velika je razlika između Authentication i Authorization. Authentication odgovara na pitanje “ko si ti”, dakle da li su tvoji login podaci ispravni i da li možeš da se uloguješ, a Authorization odgovara na pitanje “šta smiješ da radiš?”, znači da li si ti običan korisnik ili si administrator ili nešto treće. Da savladate ova dva koncepta treba vam maksimalno 2 sedmice, ako sve ovo prethodno naučite dobro.
Kursevi za učenje:
- Modern PHP Login & Registration System with MySQL Database (2026)
- API Authentication: JWT, OAuth2, and More
- API Authentication EXPLAINED! OAuth vs JWT vs API Keys
Vježba / zadatak: dodaj login/registration + protected route + role (npr. admin/user) i ograniči pristup.
Version Control (Git)
Timing: 1 sedmica.
Kada napravimo aplikaciju objavićemo je na internet, a kako ćemo kasnije da radimo izmjene, dodajemo nove funkcionalnosti i mogućnosti, mijenjamo izgled itd. Odnosno kako ćemo da updateujemo našu web aplikaciju na neku novu bolju verziju. Zato treba da naučimo version control. Ali ne samo zbog toga, nego šta ako radite vaš projekat sa još dvije osobe koje takođe rade na developmentu, kako ćete vaš rad da spojite na jedno mjesto. Ovo sve rješava git. Zato je vrlo važno da ga naučite, i to dobro.
Kursevi za učenje:
Vježba / zadatak: napravi repo, napravi branch, uradi pull request, riješi merge conflict.
Deployment
Timing: 1 sedmica.
Pored toga, treba da znate kako da aplikaciju hostujete i postavite domen, dakle naučite šta je hosting, domen, kako se podešava DNS itd. A onda savladajte i automatski deployment, to se obično radi preko Git-a. Pa kako da odvojite development, staging i production environments.
Kursevi za učenje:
- Domain Registration, DNS & How to Host a Website Explained
- CI/CD Tutorial using GitHub Actions - Automated Testing & Automated Deployments
- What is DNS? (and how it makes the Internet work)
Note: Teško je dati konkretne tutorijale za ovo, jer je za svaku tehnologiju i vrstu projekta potreban drugačiji server/hosting. Svaki domain i hosting provider je drugačiji. Environment setup takođe zavisi od projekta i tehnologije.
Vježba / zadatak: deploy-uj app, poveži domen i namjesti osnovni DNS, odradi automatski deployment preko git-a.
Tehnologije u kojima ćete raditi projekte
Vibe Coding Tech Stack
Timing: oko 1 mjesec posvećenog učenja i rada (ako nemate mnogo slobodnog vremena, onda 2 mjeseca).
Pored osnova, moramo naučiti i tehnologije koje ćemo koristiti u samom Vibe codingu, odnosno u izradi projekta, a to su je NextJS i Supabase.
Uvijek je dobro da koristite tehnologije koje već znate, to može biti PHP, Python, njihovi frameworki ili šta god, ali ako već nemate jezike koje dobro poznajete, onda možete odmah krenuti sa NextJS-om i Supabase-om.
NextJS (JavaScript Full-Stack Framework)
NextJS je odličan jer je full-stack JavaScript framework i AI ima najviše znanja upravo o JavaScript-u, pa ga malo bolje piše od ostalih jezika.
Supabase (BaaS with prebuilt components)
A Supabase nam služi za backend i SQL bazu i odlično se uklapa u Vibe Coding, jer ima svoj MCP preko kog ga možemo povezati sa našim AI code editorom. Kod koji generišemo za NextJS i eventualno za Supabase jeste JavaScript, što je još jedan benefit ovog stacka, jer ne miješamo više različitih jezika.
Da naučite ove dvije tehnologije, najbolje bi bilo da prve sedmice pogledate neki NextJS kurs, pa sledeće sedmice pogledate Supabase kurs, pa onda treće sedmice odradite jedan projekat sa nekog kursa, pa četvrte sedmice probate da odradite jedan projekat samostalno bez AI-a.
Kursevi za učenje:
- Next.js 16 Full Course | Build and Deploy a Production-Ready Full Stack App
- Supabase Full Course 2025 | Become a Supabase Pro in 1.5 Hours
Plan učenja:
- sedmica: NextJS kurs
- sedmica: Supabase kurs
- sedmica: jedan projekat sa kursa (NextJS + Supabase zajedno)
- sedmica: jedan projekat samostalno (bez AI)
Vježba / zadatak: 2 projekta (jedan sa kursa, drugi samostalno bez AI).
AI / Vibe Coding
Timing: 1 mjesec.
I za kraj, ono što je zapravo i cilj, da naučimo Vibe coding. Za ovo vam treba nekih mjesec dana maksimalno. Treba da naučite da koristite AI alate kao što su Cursor i Lovable. Predlažem da istovremeno učite jedan ili maksimalno dva alata. Recimo moj broj jedan izbor je Cursor, a broj dva je Lovable. A kada kažem da treba da naučite da ih koristite, to znači da treba da naučite kako se pišu promptovi i kada se izvršavaju koje akcije kako biste izvukli precizan rezultat, kako biste imali što manje grešaka, što manje lošeg koda i da aplikacija bude što kvalitetnija. Treba da znate koji koraci idu kojim redom, kako da debugujete, šta sve možete da uradite kroz sam IDE itd.
Osim ovih alata, treba da naučite terminologiju oko AI-a, treba da znate šta je zapravo LLM, kako funkcionišu tokeni i kontekst, šta su agenti, šta je prompting, šta je MCP itd.
I ono bez čega se ne može, bez obzira da li je projekat rađen preko AI ili ne, a to je planiranje i scoping projekta. Morate znati kako da napravite dovoljno detaljan i precizan plan za projekat kako biste mogli da realizujete isti. Čak i manji projekat nećete moći da završite ako nemate scope of work, odnosno plan projekta. Ovdje ćete se susresti sa terminima Project Requirements Document, Scope of Work, Project plan itd. Sve je to u suštini slično.
Kursevi za učenje:
- You SUCK at Prompting AI (Here's the secret)
- Full App Building Course with Cursor (3+ Hours)
- How to vibe code and launch your Next.js + Supabase app on Vercel (Cursor AI)
Vježba / zadatak: napravi 1-2 projekta i deploy ih na production.
Bonus kursevi
Kada pređeš sve ovo gore i napraviš neke bolje projekte, onda ulaziš u malo napredniji teren gdje treba da naučite malo specifičnije o system design i architecture design. Ovo je nivo gdje ne praviš i ne sklapaš samo komponente za aplikacije od par stotina ili hiljada korisnika, nego moraš da razmišljaš kako će se tvoj projekat ponašati ako imaš na desetine hiljada ili stotine hiljada korisnika. Tu moramo da pazimo kako se pravi kompletan sistem koji može da raste eksponencijalno i da se ne raspadne čim dodaš još 2 feature-a.
Kursevi za učenje:
5 načina za zaradu
1. Napraviti svoj micro-SaaS
Ovo je najbolja dugoročna opcija, jer gradiš nešto svoje i nema plafona osim tvog marketinga i kvaliteta proizvoda. Poenta micro-SaaS-a je da ne pokušavaš da napraviš “novi Airbnb”, nego rješavaš jedan konkretan problem za jednu konkretnu nišu, nešto što ljudi već plaćaju ili ih boli svaki dan. Kreneš minimalno: login, plaćanje, jedna glavna funkcija, i to izbaciš što prije. Onda slušaš korisnike, dodaješ, popravljaš, i praviš stabilan MRR. Problem je u tome što vrlo malo ovih projekata uspije u realnosti. A ako želite malo inspiracije i da vidite kakvi sve micro-SaaS postoje, posjetite: https://trustmrr.com/ & https://acquire.com/
Što se tiče zarade nebo je granica, jer je ovo scalable opcija u odnosu na sve ispod navedeno.
2. Pružati usluge izrade web sajtova i web aplikacija
Ovo je najbrži način da kreneš da zarađuješ, jer ne čekaš da aplikacija “uspije”, radiš za klijenta i naplatiš odmah. Ako si dobar Vibe coder i ako razumiješ kako web funkcioniše, možeš da radiš ozbiljnije projekte: portale, interne alate, SaaS MVP-ove, integracije itd. Cijene projekata se kreću od 1000 EUR do 50000 EUR, sve zavisi od toga ko je klijent, kakavi su zahtjevi i koliko veliki problem rješavamo.
3. Napraviti plugin za neku popularnu platformu
Ovo je vrhunski model jer platforme već imaju korisnike, a ti praviš dodatak koji njima fali. Recimo WordPress, Shopify, Chrome ekstenzije, Figma plugins, Notion add-ons itd. Uhvatiš jednu bolnu tačku (npr. “svaki put ručno radim X”), napraviš plugin koji to rješava u 2 klika, i naplaćuješ mjesečno ili jednokratno. Najjače je što jednom napraviš, pa prodaješ više puta, i možeš da gradiš cijeli portfolio pluginova oko iste publike. Ovo je dosta slično kao micro-SaaS.
4. Automatizacije i integracije
Ogroman broj firmi ima haos u procesima. Ručno prepisuju podatke, šalju mejlove, prate leadove u 5 alata, zakazivanje, komunikacija, sve je razbacano. Ti tu upadaš kao “spasilac”, povežeš alate, automatizuješ tokove, napraviš integracije (CRM, email, payments, spreadsheets, Slack, webhooks…), i firmi odmah štediš vrijeme i novac. Ovo je super jer nije samo development nego i business value, pa možeš da naplatiš ozbiljno, pogotovo kad automatizacija direktno utiče na prodaju ili operacije. Naučiš n8n, Vibe Coding i možeš da povezuješ AI sa custom code-om i sa n8n workflows. To je baš dobra kombinacija. Imaš na mom youtube kanalu video o n8n.
5. AI features add-on
Ovo je trenutno jedna od najlakših upsell stvari. Ako klijent već ima postojeći sajt ili aplikaciju, ti možeš da ponudiš novi AI “feature”, recimo kao AI support chat, AI form filling, AI search and filtering, generisanje sadržaja, automatsko sumiranje, klasifikacija leadova, analiza podataka itd. Znači dodaješ jednu AI funkciju koja korisniku daje realnu korist. I onda to naplaćuješ kao development uslugu. Ovo je relativno lako prodati, jer sada svako želi neki AI feature na svom sajtu.