<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="179690" NadgradivoID="0" NRID="28186002" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=179690" StOgledov="379" StPrenosov="132" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-10-09 06:29:46" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000470" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-179690">20.500.12556/RUL-179690</PID>
  <Naslov>Spletna aplikacija za upravljanje hrane in načrtovanje obrokov v gospodinjstvu</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>A Web Application for Household Food Management and Meal Planning</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Zavržena hrana predstavlja resen okoljski in ekonomski izziv, saj se globalno
vsako leto zavrže približno 1,05 milijarde ton hrane, od tega večina v gospodinjstvih. Diplomska naloga obravnava razvoj celostne spletne aplikacije za upravljanje z živili in načrtovanje obrokov, ki uporabnikom pomaga
zmanjšati količino zavržene hrane. Sistem temelji na sodobnih spletnih tehnologijah in omogoča beleženje živil v inventuri, sledenje rokom trajanja,
iskanje receptov na podlagi razpoložljivih sestavin, načrtovanje obrokov ter
avtomatsko generiranje nakupovalnih seznamov.
Zaledni del aplikacije je razvit z Node.js in Express.js ter uporablja MongoDB bazo za shranjevanje podatkov. Ključna komponenta sistema je klasifikator živil, implementiran kot samostojen strežnik FastAPI, ki s pomočjo
fuzzy string matching algoritma in sistema učenja iz uporabniških izbir zagotavlja točno kategorizacijo živil. Klasifikator kombinira podatke iz OpenFoodFacts taksonomije ter uporabniško ustvarjene kategorije, pri čemer se
njegova točnost skozi čas izboljšuje na podlagi povratnih informacij uporabnikov.
Čelni del aplikacije je zasnovan kot enostranska aplikacija (angl. Single
Page Application – SPA) z uporabo React knjižnjice in Tailwind CSS za
odziven dizajn. Aplikacija podpira dvosmerno komunikacijo v realnem časupreko Socket.IO protokola, kar omogoča sinhronizacijo nakupovalnih seznamov med več uporabniki istega gospodinjstva. Integracija s Spoonacular
API omogoča iskanje receptov, ki so prilagojeni razpoložljivim sestavinam v
inventuri.
Testiranje aplikacije je potekalo v več fazah, od lokalnega testiranja posameznih komponent do integracijskega testiranja in testiranja z dejanskimi
uporabniki v produkcijskem okolju. Rezultati testiranja z uporabniki so pokazali visoko stopnjo zadovoljstva z točnostjo zaznavanja živil (ocena 8/10),
točnostjo predlaganih receptov (8,57/10) ter splošno uporabniško izkušnjo
(8,86/10). Aplikacija je dostopna preko varne HTTPS povezave, ki je bila
vzpostavljena s pomočjo Certbot orodja in Let’s Encrypt certifikatov.</Opis>
  <TujJezik_Opis>Food waste represents a serious environmental and economic challenge, with
approximately 1.05 billion tons of food discarded globally each year, the
majority occurring in households. This thesis addresses the development of
a comprehensive web application for food management and meal planning
that helps users reduce the amount of wasted food. The system is based
on modern web technologies and enables recording food items in inventory,
tracking expiration dates, searching for recipes based on available ingredients,
meal planning, and automatic generation of shopping lists.
The backend is developed using Node.js and Express.js, utilizing MongoDB database for data storage. A key component of the system is a food
classifier, implemented as a standalone FastAPI server, which uses fuzzy
string matching algorithms and a learning system based on user choices to
ensure accurate food categorization. The classifier combines data from the
OpenFoodFacts taxonomy and user-created categories, with its accuracy improving over time based on user feedback.
The frontend is designed as a Single Page Application (SPA) using the
React library and Tailwind CSS for responsive design. The application supports bidirectional real-time communication via the Socket.IO protocol, enabling synchronization of shopping lists among multiple users within the samehousehold. Integration with the Spoonacular API enables recipe searches tailored to available ingredients in the inventory.
Application testing was conducted in multiple phases, from local testing of individual components to integration testing and testing with actual
users in a production environment. User testing results showed high satisfaction with food recognition accuracy (score 8/10), recipe suggestion accuracy
(8.57/10), and overall user experience (8.86/10). The application is accessible via a secure HTTPS connection, established using Certbot and Let’s
Encrypt certificates.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>načrtovanje hrane</Beseda>
    <Beseda>spletna aplikacija</Beseda>
    <Beseda>gospodinjstvo</Beseda>
    <Beseda>JavaScript</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>meal planning</Beseda>
    <Beseda>web app</Beseda>
    <Beseda>household</Beseda>
    <Beseda>JavaScript</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2026-02-20 12:10:02</DatumVstavljanja>
  <DatumObjave>2026-02-20 12:10:16</DatumObjave>
  <DatumSpremembe>2026-08-12 04:03:19</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2026</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="156238" Ime="Tit" Priimek="Šober" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="55716" Ime="Žiga" Priimek="Emeršič" AltIme="Z. Emersic; Ziga Emersic; Ž. Emeršič; Ž. Emeršić" VlogaID="991" VlogaNaziv="Mentor" ConorID="166844515" Afiliacija="" ArrsID="53820" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38343</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/270403075">270403075</Identifikator>
  </Identifikatorji>
  <Relacije>
  </Relacije>
  <VerzijeGradiva>
  </VerzijeGradiva>
  <Datoteke>
    <Datoteka ID="228468" DatotekaNRID="14595452" 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="801678" VelikostDatotekeKratko="782,89 KB" DatumVstavljanja="2026-02-20 12:10:17" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.0001" Zaporedje="0">
      <Naziv>Sober_Tit_-_Spletna_aplikacija_za_upravljanje_hrane_in_nacrtovanje_obrokov_v_gospodinjstvu.pdf</Naziv>
      <OrgNaziv>Sober_Tit_-_Spletna_aplikacija_za_upravljanje_hrane_in_nacrtovanje_obrokov_v_gospodinjstvu.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>C0E918C4B6DEC008A68F269529C44AA7</MD5>
      <SHA256>20f6c2d3ffde858702d1959f8cc6284924567c77fd14ffbd787f2185eb94c47d</SHA256>
      <UUID>7afe2bd4-0e4c-11f1-a1ba-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=228468</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="80588"></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>
