Rešenja koja rade u pregledaču: parser izraza koji se ugrađuje u tuđu platformu, interfejs za uređivanje podataka bez diranja u izvorni fajl, doterivanje postojećeg alata za obradu slika, obrazac koji pamti unete podatke, filter kategorija koji radi bez osvežavanja stranice i skeniranje bar-kodova kamerom telefona. Zajedničko im je da se korisniku čini da sve radi samo od sebe, a da je iza toga pažljivo napisan JavaScript koji se uklapa u ono što već postoji. Ovakve poslove radim u okviru usluge programiranja veb sajtova.
Samostalan JavaScript parser za proračune i uslovne izraze
Rađeno u trećem kvartalu 2022.
Problem
Klijent je zamislio brz i jasan JavaScript parser za aritmetičke proračune, koji bi se ugradio kao dodatak u platformu bez programiranja. Parser je trebalo da preuzme promenljive prosleđene u JSON obliku — brojeve, nizove i objekte — i da ih koristi u izrazima koji ostaju jasni i jednostavni za prikaz, na primer (a+b) (c[1]+c[2]) * (d.green + d.blue). Poželjni su bili i uslovni izrazi, poput if(a>3, d.green, d.blue). Najveći izazov bio je uslov da cela funkcionalnost stane u jednu biblioteku, bez ijedne spoljne zavisnosti.
Rešenje
Napravljen je samostalan parser koji izvodi aritmetičke operacije nad JSON promenljivama, razume i izvršava uslovne izraze:
- tumačenje promenljivih: pouzdano se čitaju i razdvajaju promenljive prosleđene kroz JSON, uključujući nizove i ugnežđene objekte;
- jasni izrazi: korisnički interfejs omogućava lako sastavljanje i tumačenje izraza;
- uslovna logika: uslovni izrazi daju parseru znatno veću fleksibilnost;
- bez zavisnosti: parser je potpuno samostalan, pa se bez prepreka ugrađuje u platformu bez programiranja.
Korišćene tehnologije
- JavaScript programski jezik (programiranje.co.rs): jezik u kome je cela biblioteka napisana.
- JSON: format u kome se prosleđuju promenljive.
Rezultat
Platforma je dobila biblioteku koja računa izraze sa promenljivama i uslovima, a da ne povlači nijednu spoljnu zavisnost.
Interfejs za uređivanje XML rasporeda aktivnosti
Rađeno u prvom kvartalu 2021.
Problem
Nedeljni raspored aktivnosti i njihovi parametri čuvali su se u XML dokumentu. Klijent je tražio jednostavan i pregledan interfejs u pregledaču kroz koji se aktivnosti za svaki dan menjaju i čuvaju. Zahtev je obuhvatao i to da se polja za unos menjaju u zavisnosti od vrste medija koja se bira za aktivnost.
Rešenje
Napravljen je veb interfejs koji se tačno uklapa u postojeću XML strukturu:
- izbor dana: korisnik bira bilo koji dan od nedelje do subote i menja aktivnosti za taj dan;
- podešavanje aktivnosti: vreme početka i zvuk, koji se za svaku aktivnost uključuje ili isključuje;
- izbor vrste medija iz padajuće liste za svaku aktivnost;
- polja koja se prilagođavaju izboru: za video sa interneta pojavljuje se polje za link, a za prezentaciju podešavanja koja se odnose na nju;
- čuvanje izmena nazad u XML dokument na serveru.
Korišćene tehnologije
- HTML (programiranje.co.rs), JavaScript programski jezik (programiranje.co.rs) i CSS: interaktivni korisnički interfejs.
- PHP programski jezik (programiranje.co.rs): obrada i čuvanje izmena XML podataka na serveru.
- XML: format u kome se raspored čuva.
Rezultat
Raspored aktivnosti menja se kroz obrazac u pregledaču, sa poljima koja se sama prilagođavaju izboru, umesto ručnim uređivanjem XML fajla.
Unapređenje alata za sečenje slika
Rađeno u četvrtom kvartalu 2020.
Problem
Klijent je imao gotov alat u pregledaču kojim korisnici otpremaju sliku, menjaju joj veličinu, pomeraju je i iseku željeni deo, a alat izmene verno prikazuje na izlaznoj slici. Osnovne funkcije i raspored stranice radili su dobro i nisu smeli da se menjaju, ali je klijentu trebalo dva značajna unapređenja da bi alat bio korisniji. Posao je, dakle, bio rad u tuđem, postojećem kodu, uz dostupnu dokumentaciju i izvorni kod.
Rešenje
Cilj je bio da se mogućnosti alata prošire, a da se osnovne funkcije ne diraju:
- očuvane osnovne funkcije: promena veličine, pomeranje i sečenje delova slike rade kao i pre;
- dva nova unapređenja, urađena prema zahtevima klijenta;
- uklapanje u postojeći kod, uz zadržan zadati HTML raspored;
- jednostavna upotreba: nova unapređenja koriste se jednako intuitivno kao i ostatak alata.
Korišćene tehnologije
- HTML (programiranje.co.rs) i CSS: raspored i izgled alata.
- JavaScript programski jezik (programiranje.co.rs) i jQuery: logika alata i unapređenja.
- Canvas: obrada i prikaz slike u pregledaču.
Rezultat
Alat je dobio tražene mogućnosti, a korisnici i dalje rade na isti način i u istom rasporedu na koji su navikli.
Obrazac koji pamti unete podatke
Rađeno u trećem kvartalu 2021.
Problem
Klijent je imao HTML5 obrazac na sajtu i želeo je da korisnicima uštedi ponovno kucanje. Podaci iz dva određena polja trebalo je da se zapamte, u kolačićima ili u LocalStorage-u, i da se pri sledećoj poseti sami upišu u ta polja. Klijent je verovao da obrazac možda već delimično koristi LocalStorage, ali nije bio siguran da li to zaista radi.
Rešenje
Cilj je bio da se određeni unosi sačuvaju i bez ikakvih problema ponovo iskoriste pri narednim posetama:
- čuvanje u LocalStorage-u: podaci iz dva polja pouzdano se čuvaju čim se unesu u obrazac;
- automatsko popunjavanje: pri otvaranju stranice proverava se da li sačuvani podaci postoje, pa se odgovarajuća polja popunjavaju;
- brzo i tačno čitanje podataka, bez zastoja i bez grešaka u radu obrasca.
Korišćene tehnologije
- JavaScript programski jezik (programiranje.co.rs): čuvanje i čitanje podataka iz LocalStorage-a.
- HTML5 (programiranje.co.rs): osnova obrasca.
- LocalStorage: skladište podataka u pregledaču.
Rezultat
Posetilac koji se vrati na stranicu zatiče već popunjena polja, a problem je rešen brzo.
Utisak klijenta
★★★★★5/5“Odlično je obavio posao rešavajući problem i bio je veoma odzivan i brz.”
Višestepeni filter kategorija na WordPress-u
Rađeno u trećem kvartalu 2021.
Problem
Na WordPress sajtu je trebalo napraviti filter kategorija u dva koraka: izbor glavne kategorije u prvoj listi treba odmah da popuni drugu listu njenim potkategorijama, bez osvežavanja stranice. Potkategorije ostaju skrivene dok se ne izabere glavna kategorija, a posle izbora potkategorije dugme „dalje" vodi na stranicu sa sadržajem te kategorije. Posao je morao da se uradi bez dodataka (pluginova), sa naglaskom na funkcionalnosti, a ne na izgledu.
Rešenje
Napravljen je interaktivan višestepeni filter, bez ijednog dodatka:
- dinamičko učitavanje: potkategorije se učitavaju u pozadini, na osnovu izabrane glavne kategorije;
- bez osvežavanja stranice tokom celog filtriranja, pa je rad sa filterom gladak;
- skrivene potkategorije dok se ne izabere glavna kategorija;
- prelazak na stranicu kategorije: dugme „dalje" vodi na stranicu sa sadržajem izabrane potkategorije.
Korišćene tehnologije
- JavaScript programski jezik (programiranje.co.rs): interakcije na strani korisnika.
- AJAX: preuzimanje i prikaz podataka bez ponovnog učitavanja stranice.
- WordPress: platforma na kojoj je filter napravljen.
Rezultat
Posetilac do željenog sadržaja stiže kroz dva brza izbora, a sajt nije opterećen još jednim dodatkom.
Skeniranje bar-kodova kamerom u mobilnoj veb aplikaciji
Rađeno u trećem kvartalu 2019.
Problem
Klijent je imao postojeću veb aplikaciju, napravljenu u Visual Studio 2017 uz jQuery i Bootstrap, koja se koristi na Android i iOS telefonima. Aplikaciji je nedostajalo skeniranje bar-kodova, a klijent je uz to želeo i diskretne dodatke na ekranu dok je kamera uključena, kao što su datum i tekst koji zavisi od konteksta. Sve je moralo da radi podjednako dobro na obe mobilne platforme.
Rešenje
Skeniranje bar-kodova ugrađeno je u postojeći projekat, uz očuvan responzivan rad na telefonima:
- skeniranje bar-kodova kamerom telefona, jednostavno za upotrebu;
- responzivan rad: nove funkcije rade na Android i iOS uređajima;
- dodaci na ekranu kamere: prikaz datuma i tekst koji zavisi od konteksta pojavljuju se preko slike kamere dok je aktivna.
Korišćene tehnologije
- Visual Studio 2017: okruženje u kome je projekat razvijan.
- JavaScript programski jezik (programiranje.co.rs), jQuery i Bootstrap: logika i izgled aplikacije.
- API za skeniranje bar-kodova: čitanje kodova kamerom.
Rezultat
Aplikacija je dobila skeniranje bar-kodova na telefonima obe platforme, uz jasne podatke na ekranu dok je kamera uključena.
Utisak klijenta
★★★★★5/5“Doprinos Dejana našem projektu je bio izvanredan. Njegova stručnost i posvećenost su očigledni u kvalitetu rada koji je isporučio. Bilo je privilegija raditi sa tako veštim freelancerom. Topla preporuka! Sjajan posao, Dejane!”
Treba vam slično rešenje?
Šta ulazi u izradu, kako se određuje cena i kako izgleda tok posla, piše na stranici programiranje veb sajtova. Cele sajtove izrađene na mojim platformama pogledajte među sajtovima na NoEmStilOK CMS-u i sajtovima na Dozet WordPress temi, a ostale radove među referencama za veb aplikacije i JavaScript.
Ostavite odgovor