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.
- Primjena
- 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.