spletna-trgovina-ep's People
spletna-trgovina-ep's Issues
Test
New articles are not displayed in correct row
Feature checklist
Zahteve za e-trgovino
Dodatni komentarji
- Prepreči dostop do poddirektorijev, npr. do "localhost/ep-projekt/api/"
- Secret token ob POST requestih
- Serviranje slik, pravice:
"chmod -R 777 /home/ep/NetBeansProjects/<ime_mape_projekta>"
poglej uporabo copy() namesto move_uploaded_file()
Vloge uporabnikov
V seminarski nalogi izdelajte model spletne prodajalne z uporabo tehnologij Linux, Apache, SUPB MySQL, PHP, SSL, certifikatov X.509 in mobilne platforme Android.
Spletna prodajalna naj ima naslednje uporabnike, pri katerih hranite spodaj navedene atribute.
-
Administrator
: Ime, Priimek, Elektronski naslov in geslo -
Prodajalec
: Ime, Priimek, Elektronski naslov in geslo -
Stranka
: Ime, Priimek, Elektronski naslov, Naslov, Telefonska številka, geslo - Anonimni odjemalec, pri katerem ne hranite atributov
Osnovne storitve
Osnovne storitve prodajalne naj podpirajo naslednje operacije pri vsaki vlogi.
Spletni vmesnik vloge Administrator
Vmesnik naj omogoča:
- Prijavo in odjavo. Dostop je dovoljen le odjemalcem, ki se overijo s pomočjo certifikatov X.509
- Posodobitev lastnega gesla in ostalih atributov
- Ustvarjanje, aktiviranje in deaktiviranje uporabniškega računa
Prodajalec
ter posodobitev njegovih atributov
V vlogi administratorja imate lahko zgolj enega uporabnika, ki ga lahko kreirate ročno, denimo z uporabo določene skripte, vmesnika phpmyadmin in podobno.
Spletni vmesnik vloge Prodajalec
Vmesnik naj omogoča:
- Prijavo in odjavo. Dostop je dovoljen le odjemalcem, ki se overijo s pomočjo certifikatov X.509
- Posodobitev lastnega gesla in ostalih atributov
- Obdelavo naročil. Slednje obsega
- Pregled še neobdelanih naročil in njihovih postavk. Posamezno naročilo se prodajalcu prikaže šele, ko
Stranka
z nakupom zaključi - Potrjevanje ali preklic oddanih naročil
- Ogled zgodovine potrjenih naročil in možnost storniranja potrjenih naročil
- Pregled še neobdelanih naročil in njihovih postavk. Posamezno naročilo se prodajalcu prikaže šele, ko
- Ustvarjanje, aktiviranje in deaktiviranje artiklov in posodabljanje njihovih atributov. Pri obravnavi artiklov lahko upravljanje z zalogami izpustite. Z drugimi besedami -- v aplikaciji lahko vedno predpostavite, da je na zalogi dovolj artiklov
- Ustvarjanje, aktiviranje in deaktiviranje uporabniških računov tipa
Stranka
in posodabljanje njegovih atributov
Spletni vmesnik vloge Stranka
Vmesnik naj omogoča:
- Prijavo in odjavo
- Posodobitev lastnega gesla in ostalih atributov
- Nakupovanje. To naj bo sestavljeno iz
- Pregledovanja artiklov trgovine
- Dodajanja in odstranjevanja artiklov v košarico ter spreminjanja količine v košarici
- Zaključka nakupa. Tu se naj stranki prikaže povzetek kupljenih izdelkov s predračunom. Ko stranka naročilo potrdi, se to doda v čakalno vrsto neobdelanih naročil, kjer ga lahko v obravnavo prevzame
Prodajalec
- Dostop do seznama preteklih nakupov. Uporabnik lahko vidi vsa svoja pretekla naročila: oddana, potrjena in stornirana
- Uporaba vmesnika
Stranka
je dovoljena le preko zavarovanega kanala. Odjemalca overite z uporabniškim imenom in geslom, ki naj bosta shranjena v SUPB
Spletni vmesnik anonimnega odjemalca
Vmesnik naj omogoča:
- Pregledovanje artiklov preko spletnega vmesnika
- Registracijo preko spletnega vmesnika
- Uporaba vmesnika anonimnega odjemalca je dovoljena preko javnega in zavarovanega kanala, pri registraciji pa nujno preklopite na zavarovan kanal. V splošnem poskrbite za ustrezno preklapljanje med omenjenima kanaloma
Vmesnik mobilne aplikacije (platforma Android)
Izdelajte Android aplikacijo, ki bo omogočala preprosto pregledovanje artiklov v vaši trgovini.
- Implementirajte vmesnik spletne storitve, preko katerega bo mobilna aplikacija komunicirala z vašo prodajalno
- Implementirajte funkcionalnost brskanja po artiklih. Implementirajte vsaj dva zaslona
- Prvi zaslon naj prikaže seznam vseh artiklov v trgovini
- Če uporabnik izbere artikel s zgornjega seznama, naj aplikacija prikaže drug zaslon, kjer se izpišejo podrobnosti artikla
Ostale zahteve
Vaša rešitev naj zadosti še omenjenim zahtevam:
- Vzpostavite lastno certifikatno agencijo in z njo izdelajte strežniško digitalno potrdilo. Digitalno potrdilo namestite v strežnik Apache
- Osebne certifikate izdelajte ročno z namenskim programom in z uporabo iste certifikatne agencije, kot ste jo uporabili za izdelavo strežniškega certifikata. Uporabite smiselna polja certifikata ter na ustrezen način povežite identiteto uporabnika v bazi z identiteto zapisano v certifikatu
- Pri realizaciji vseh delov prodajalne skrbno preverjajte vnose s strani odjemalca, pri čemer bodite posebej pozorni na napade injekcije kode SQL ter napade XSS
- Metode protokola HTTP realizirajte v skladu s priporočili standarda HTTP, kjer uporabite zahtevke z metodo GET za lahke operacije, za zahtevnejše pa zahtevke z metodo POST
- Poskrbite za ustrezno hrambo gesel
- Izdelan model podatkovne baze naj bo normaliziran do tretje normalne oblike. Vse denormalizacije morajo biti utemeljene
Uspešna realizacija vseh navedenih zahtev prinese 50% ocene, preostalih 50% pridobite z realizacijo izbranih razširjenih storitev.
Razširjene storitve
Z implementacijo razširjenih storitev lahko zvišate oceno. Pri vsaki storitvi je navedeno, kolikšen delež ocene prinaša. Pri tem je pomembno, da lahko za razširjene storitve dobite največ 50%. Slednje pomeni, da v kolikor izgubite točke pri Osnovnih storitvah, jih z razširjenimi storitvami ne morete kompenzirati.
Varnost
- (5%) Vodenje dnevnika uporabnikov
Administrator
inProdajalec
- (5%) Registracija strank z uporabo filtriranja CAPTCHA
- (5%) Registracija strank z uporabo potrditvenega e-maila
Uporabniški vmesnik
- (do 10%) Smiselna organizacija in izvedba uporabniškega vmesnika s pomočjo tehnologij kot so sta CSS in JavaScript. Za polno oceno je nujna tudi uporaba tehnologije AJAX
- (5%) Implementacija ocenjevanja artiklov prijavljenega uporabnika ter predstavitev njihove povprečne ocene pri njihovem ogledu
- (5%) Implementacija iskanja po artiklih. Iskalnik naj podpira binarno iskanje, tj. poizvedbe pri katerih lahko s posebnimi operatorji določene iskalne pojme izključimo
- (10%) Predstavitev artiklov s slikami. Slike lahko shranite v SUPB ali na datotečni sistem. Za polno oceno mora implementacija podpirati dodajanje in spreminjanje slik na enak način kot se spreminjajo ostali atributi artiklov ter možnost, da za vsak artikel dodamo več slik
Napredne funkcije mobilne aplikacije
Mobilno aplikacijo razširite, tako da bo podpirala naslednje funkcije vloge Stranka
:
- (5%) Prijava in odjava
- (5%) Pregled profilnih podatkov (ime, priimek, email, geslo, naslov ipd.) ter možnost njihovega spreminjanja
- (10 %) Izvajanje nakupa. Implementirajte zaslon, kjer boste prikazali vsebino nakupovalne košarice skupaj z ustreznimi kontrolami za manipulacijo artiklov v košarici ter dialogom, kjer bo uporabnik lahko nakup tudi zaključil
- (dodatnih 5%) Implementacija nakupovalne košarice naj bo sinhronizirana z računom prijavljenega uporabnika. Na primer, če je uporabnik prijavljen v mobilno in v spletno aplikacijo hkrati, naj bo vsebina nakupovalne košarice v obeh vmesnikih ista. Pri tem vam ni treba skrbeti, da se vsebina samodejno osvežuje, temveč lahko od uporabnika zahtevate, da vsebino košarice ročno osveži
- (5%) Pregled preteklih nakupov. Implementacija naj obsega tako pregled seznama vseh nakupov kot tudi ogled podrobnosti posameznega nakupa kot so seznam artiklov, končni znesek ipd
Končno poročilo
Končno poročilo boste izdelali po predlogi, ki je objavljena v spletni učilnici. V poročilu boste na kratko in jedrnato podali:
- Seznam implementiranih osnovnih in razširjenih storitev
- Opis podatkovnega modela, kjer boste pojasnili neočitne in ne-trivialne atribute
- Opis implementiranih varnostnih mehanizmov
- Avtorstvo delov naloge glede na člane skupine
Update API links in android app
Add feature to edit multiple images on article
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.