Početna
  • Radovi
  • O meni
  • Kontakt
EN/BS

Aven

Web aplikacija za naručivanje vožnji: naruči vozača i prati cijelu vožnju uživo na mapi.

Naslovna slika projekta Aven
Year
2026
Role
Samostalan projekat: dizajn, frontend, backend i baza podataka
Platforms
Web
Mobilna aplikacija (planirano)
Next.jsTypeScriptPrismaPostgreSQLBetter AuthMapLibreOSRM

Pregled

Aven je aplikacija za naručivanje vožnji, slična Uberu. Korisnik naruči vozača, vožnju dobija onaj koji prvi prihvati zahtjev, a oboje je prate uživo na zajedničkoj stranici.

Naruči vožnju u nekoliko koraka

Upiši nekoliko slova, odaberi lokaciju i ruta s udaljenošću odmah će se prikazati na mapi.

  • Pronađi bilo koju lokaciju u Bosni i Hercegovini
  • Ruta se prikaže na mapi prije naručivanja
  • Vozača pratiš u stvarnom vremenu
Ekran za naručivanje vožnje u aplikaciji Aven

Zahtjev stiže, jedan vozač ga prihvata

Vozači rade u svojim područjima. Kada je korisnik u blizini, pojavi se obavijest, a vožnju dobija vozač koji prvi prihvati.

  • Zasebni prostor na adresi /account/driver
  • Obavijest o zahtjevima korisnika u blizini
  • Prelazak na stranicu vožnje zajedno s korisnikom
Ekran vozača u aplikaciji Aven

Kako funkcioniše vožnja

  1. Odaberi odredište

    Pretraži i pogledaj rutu

  2. Vozači dobijaju obavijest

    Zahtjev dobijaju vozači u blizini

  3. Prvi koji prihvati dobija vožnju

    Vožnju dobija samo jedan vozač

  4. Zajednička stranica

    Oboje otvaraju stranicu vožnje

  5. Vožnja uživo

    Korisnik prati vožnju u stvarnom vremenu

Ko koristi aplikaciju

Korisnik

  • Pronađi bilo koju lokaciju u Bosni i Hercegovini upisivanjem nekoliko slova
  • Pogledaj rutu prikazanu na mapi
  • Naruči vozača
  • Prati dolazak vozača u stvarnom vremenu
  • Prati vožnju i pređenu udaljenost

Vozač

  • Radi u svom području na adresi /account/driver
  • Dobija obavijest kada je korisnik u njegovom području
  • Vožnju dobija onaj ko prvi prihvati
  • Prelazi na stranicu vožnje zajedno s korisnikom
Ideja

Projekat sa stvarnim izazovima: dvije osobe prate istu vožnju, lokacija se stalno mijenja, a odluka o prihvatanju smije se donijeti samo jednom.

Ključne funkcionalnosti

Pretraga lokalnih lokacija

Upiši „tra“ i pronađi Travnik. Pretraga je prilagođena lokacijama u Bosni i Hercegovini.

Trenutni prikaz ruta

Ruta i udaljenost prikazuju se na mapi prije nego što korisnik naruči vožnju.

Prvi koji prihvati dobija vožnju

Nema dvostrukih rezervacija, čak ni kada dva vozača prihvate zahtjev istovremeno.

Praćenje uživo

Korisnik i vozač prate istu vožnju, korak po korak.

Kako sam ga izradio

Next.js + TypeScript

Jedna baza koda za interfejs i backend.

Prisma + PostgreSQL

Korisnici, vozači i vožnje organizovani su kroz jasne relacije.

Better Auth

Korisnički računi i uloge bez pravljenja vlastitog sistema prijave.

MapLibre

Mapa uživo otvorenog koda umjesto plaćene usluge.

OSRM

Rute i udaljenosti uz rješenje otvorenog koda.

API za lokacije

Omogućava pretragu lokacija u Bosni i Hercegovini.

Prikazi aplikacije

Snimak ekrana aplikacije Aven
Naručivanje vožnje
Snimak ekrana aplikacije Aven
Zahtjev za vozača
Snimak ekrana aplikacije Aven
Korisnički račun
Snimak ekrana aplikacije Aven
Vožnja uživo

Izazovi

Problem

Two drivers can press accept at almost the same moment

Solution

Provjera da je vožnja slobodna i njena dodjela obavljaju se kao jedna operacija u bazi, pa je dobija samo prvi vozač koji prihvati.

Problem

Stranice vožnje korisnika i vozača moraju ostati usklađene dok se vozač kreće.

Solution

Obje stranice koriste isto stanje vožnje, pa prikaz uvijek odgovara njenoj trenutnoj fazi.

Šta sam naučio

01

Stanje je ključno

Funkcionalnosti uživo uglavnom zavise od stanja: ko je preuzeo vožnju i u kojoj je fazi.

02

Dobro oblikuj model podataka

Dobro organizovan model baze pojednostavljuje sve ostalo.

03

Rješenja otvorenog koda su dovoljna

MapLibre i OSRM mogu zamijeniti jednu plaćenu map servisnu platformu.

Svi projekti

Sljedeći projekat

Craft


Radimo zajedno

Imaš projekat na umu?

Trenutno sam dostupan za nove projekte. Pretvorimo tvoju ideju u nešto stvarno.

Javi mi se
Početna
  • GitHub
  • LinkedIn
  • E-Mail

© 2026 — Dizajnirao i razvio Tarik Čelić