<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="168150" NadgradivoID="0" NRID="26143244" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=168150" StOgledov="723" StPrenosov="266" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-19 16:16:17" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000407" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-168150">20.500.12556/RUL-168150</PID>
  <Naslov>Full-stack development of React Online Marketplace</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Celostni razvoj React spletnega oglasnika</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Within the scope of this thesis, we designed and implemented an online marketplace utilizing modern web technologies. We utilized Next.js, a React framework that enabled us to leverage Server-Side Rendering for improved SEO and performance optimization. The user interface was designed to be responsive and user-friendly through a design system built with React Aria Components, ensuring accessibility for a diverse user base.
For the backend, we used Supabase, which provided storage and a PostgreSQL database, also enabling real-time functionality through WebSockets, allowing us to integrate a real-time chat feature within our app. Additionally, we enhanced search capabilities by incorporating OpenAI&#039;s model for generating vector embeddings, which enabled semantic search on listings, and utilized the Google Places API for geolocation filtering, improving the relevance of search results.
To evaluate our solution, we conducted a user study comparing our app with Bolha, an existing online marketplace, involving 20 testers. The results indicated that our app is more user-friendly and provided actionable feedback for further improvements. We also addressed methodological limitations, specifically the quantitative nature of the data and the small sample size, by using Google&#039;s Lighthouse to obtain objective performance, SEO, best practices, and accessibility metrics. Our app consistently scored highly in these audits, often achieving higher or comparable performance scores to Bolha across both mobile and desktop modes.</Opis>
  <TujJezik_Opis>V okviru diplomskega dela smo zasnovali in implementirali spletni oglasnik z uporabo sodobnih spletnih tehnologij. Za razvoj čelnega dela aplikacije smo uporabili React ogrodje Next.js, ki nam je omogočilo renderiranje na strežniku za izboljšanje SEO in zmogljivosti.
Na zalednem delu aplikacije smo uporabili Supabase in njegove storitve, predvsem podatkovno bazo PostgreSQL, podatkovno shrambo ter mehanizem posodobitev v realnem času prek povezav WebSocket, ki smo jih izkoristili pri implementaciji klepeta v živo. Vključili smo tudi model OpenAI za generiranje vektorskih vložitev, kar je omogočilo semantično iskanje oglasov. Za izboljšanje relevantnosti iskalnih rezultatov smo dodatno integrirali Google Places API, ki omogoča filtriranje glede na lokacijo.
Za namene testiranja naše aplikacije smo izvedli spletno anketo, v kateri je 20 testnih uporabnikov ocenilo svojo izkušnjo z uporabo naše aplikacije in obstoječega spletnega oglasnika Bolha. Rezultati kažejo, da je naša aplikacija uporabniku prijaznejša, poleg tega pa smo prejeli dodatne povratne informacije za nadaljnje izboljšave. Omenili smo tudi omejitve v naši metodologiji, predvsem majhno velikost vzorca in dejstvo, da smo pridobili zgolj kvalitativne podatke. Za pridobitev objektivnejših metrik smo izvedli vrsto testov z orodjem Google Lighthouse, s katerim smo preverili performančnost naše aplikacije in Bolhe ter analizirali druge metrike, kot so SEO in spletna dostopnost. Naša aplikacija je v večini primerov na mobilnih in namiznih napravah dosegala enake ali višje ocene v primerjavi z Bolho.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>online marketplace</Beseda>
    <Beseda>web app</Beseda>
    <Beseda>React</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>spletni oglaševalnik</Beseda>
    <Beseda>spletna aplikacija</Beseda>
    <Beseda>React</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1033" ISO639-3="eng">Angleški jezik</Jezik>
  <TujJezik ID="1060" ISO639-3="slv">Slovenski jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2025-03-31 11:20:04</DatumVstavljanja>
  <DatumObjave>2025-03-31 11:20:10</DatumObjave>
  <DatumSpremembe>2025-04-16 08:42:22</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2025</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="144281" Ime="ĐORĐE" Priimek="JOVANOVIĆ" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="138664" Ime="Octavian Mihai" Priimek="Machidon" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">37631</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/232910595">232910595</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="201209" DatotekaNRID="14194075" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="8922411" VelikostDatotekeKratko="8,51 MB" DatumVstavljanja="2025-03-31 11:20:16" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Jovanovic_Dorde_-_Celostni_razvoj_React_spletnega_oglasnika.pdf</Naziv>
      <OrgNaziv>Jovanovic_Dorde_-_Celostni_razvoj_React_spletnega_oglasnika.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>088C9C9E925ABCE7D87E8A772E159038</MD5>
      <SHA256>6197d860fa5d074fc7170d5397c85240b238f7682b0599c34b5904b11e066508</SHA256>
      <UUID>50fac752-0e10-11f0-b232-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=201209</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1033" Oznaka="" Dolzina="141324"></Vsebina>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.11" Koda="2.11" Naziv="Diplomsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
