Skip to content

Tehnoloski Stack

Ovaj projekat koristi moderan tehnološki stack za izradu skalabilne i robusne web-aplikacije. U nastavku je detaljan pregled korištenih tehnologija:

Klijent (Frontend)

  • HTML/CSS/JavaScript: Koristi se za izgradnju korisničkog interfejsa i stilizaciju stranica.
  • C# (Razor Pages): Integracija dinamičkog sadržaja u HTML pomoću Razor sintakse za razvoj server-side renderovanih stranica.
  • Fetch API: Intenzivno se koristi za asinhrone pozive serveru, čime se omogućava dinamičko ažuriranje sadržaja bez ponovnog učitavanja stranice.
    • Primjena Fetch API osigurava da, na primjer, audio player element ostane aktivan i neprekidan tokom interakcije s drugim dijelovima stranice.
    • Ovo daje aplikaciji funkcionalnost sličnu Single Page Application (SPA) principu, omogućavajući korisnicima brže i fluidnije iskustvo.
  • Web-preglednik: Aplikacija je optimizirana za rad na svim modernim preglednicima.

Web-server (Backend)

  • C# (ASP.NET Core): Backend framework za rukovanje poslovnom logikom, obradu HTTP zahtjeva i komunikaciju s Firebase-om.
  • REST API: Implementacija API-ja za komunikaciju između klijenta i servera.

Skladištenje

  • Firebase Storage: Koristi se za sigurno skladištenje i dohvaćanje slika, gifova i audio fajlova. Firebase omogućava brz i jednostavan pristup podacima putem svojih SDK-ova i REST API-ja.

Hosting i Deployment

  • SmarterASP.NET: Korišten za hosting aplikacije, omogućava jednostavno postavljanje ASP.NET Core aplikacija uz podršku za SQL Server i druge alate.

  • ASP.NET Core Web Server: Koristi se za hosting aplikacije i obradu zahtjeva s klijenta.

Protokoli

  • HTTP/HTTPS: Koristi se za komunikaciju između klijenta i servera.
  • REST API Calls: Standardni način komunikacije između Frontenda, Backenda i Firebase Storage-a.

Karakteristike

  • Asinhroni pozivi: Korištenje Fetch API omogućava brzo dohvaćanje i slanje podataka bez ometanja rada aplikacije.
  • Single Page Application (SPA) pristup: Aplikacija je dizajnirana da minimizira ponovno učitavanje stranice, osiguravajući neprekinuto korisničko iskustvo, posebno za elemente poput audio playera.

Ovaj stack osigurava visoku pouzdanost, performanse i jednostavnu integraciju različitih komponenti u aplikaciju, uz modernu i fluidnu interaktivnost. performanse i jednostavnu integraciju različitih komponenti u aplikaciju.

Dijagram Raspoređivanja

DeploymentDijagram