3. domača naloga pri predmetu Osnove informacijskih sistemov (navodila)
Na GitHub je na voljo javni repozitorij https://github.com/szitnik/prodajalna, ki vsebuje Node.js spletno prodajalno, ki je podobna prodajalni iz vaj V6. V okviru domače naloge ustvarite lastno kopijo repozitorija ter dopolnite obstoječo implementacijo spletne prodajalne kot zahtevajo navodila. Domača naloga zahteva poznavanje GIT ukazov, HTML označb, CSS stilov, jezika JavaScript, Node.js tehnologije z izbranimi knjižnicami in XML zapis podatkov. Pri delu natančno sledite navodilom!
Spletno povezavo na GitHub repozitorij podate kot https://github.com/{študent}/prodajalna
, kjer {študent} predstavlja vaše GitHub uporabniško ime. Spletno povezavo na uveljavitev v GitHub repozitoriju podate kot https://github.com/{študent}/prodajalna/compare/{commit}
, kjer je {commit} identifikator ustrezne uveljavitve. Le-tega pridobite na spletni strani GitHub repozitorija v zavihku Commits pod Code, kjer je vsaki uveljavitvi pripisan SHA identifikator (uporabite možnost Copy the full SHA).
Na GitHub z uporabo funkcije Fork ustvarite lastno kopijo repozitorija https://github.com/szitnik/prodajalna v okviru katere boste opravljali domačo nalogo. Kopija repozitorija naj ostane javna in naj ohrani ime "prodajalna". Z uporabo podanih GIT ukazov v ukazni lupini razvojnega okolja Cloud9 vzpostavite lokalni repozitorij ter ustvarite veje razvoja registracija, izbira-stranke, prikaz-racuna in prikaz-racuna-trenutni v okviru katerih boste reševali posamezne naloge. Na koncu vse spremembe uveljavite še v oddaljenem GitHub repozitoriju.
Na veji master ustvarite prazno uveljavitev s komentarjem "Začetek dela na domači nalogi". Nato ustvarite sledeče veje in v vsaki ustvarite prazno uveljavitev s komentarjem:
- registracija - "Začetek dela na I. nalogi"
- izbira-stranke - "Začetek dela na II. nalogi"
- prikaz-racuna - "Začetek dela na III. nalogi"
- prikaz-racuna-trenutni - "Začetek dela na IV. nalogi"
Vse spremembe nato uveljavite še v vašem oddaljenem repozitoriju.
Spletno povezavo na ustvarjen GitHub repozitorij.
Repozitorij: https://github.com/{študent}/prodajalna
Na spletni strani /prijava zaključite z implementacijo obrazca Registracija tako, da se v bazo doda nova stranka glede na vnešene podatke v obrazcu. Za nove stranke naj bo odgovorna Jane Peacock (vrednost SupportRepId nastavite na vrednost 3). Po uspešnem shranjevanju naj se spletna stran ponovno naloži, da je nova stranka vidna v seznamu vseh strank in v polju z imenom sporocilo naj se izpiše obvestilo "Stranka je bila uspešno registrirana.". V primeru neuspešnega shranjevanja pa naj se pri ponovno naloženi strani v polju z imenom sporocilo izpiše obvestilo "Prišlo je do napake pri registraciji nove stranke. Prosim preverite vnešene podatke in poskusite znova."
Zahtevane spremembe implementirajte v predhodno ustvarjeni veji registracija. Med delom lahko smiselno uveljavljajte spremembe v lokalnem in oddaljenem GitHub repozitoriju, dočim pa ob koncu spremembe uveljavite s sporočilom "Zaključek dela na I. nalogi". Prav tako naj bodo vse spremembe v veji vidne tudi v vašem oddaljenem repozitoriju.
Spletno povezavo na zadnjo uveljavitev v GitHub repozitoriju v veji registracija s sporočilom "Zaključek dela na I. nalogi", ki vključuje vse zahtevane spremembe.
I. naloga: https://github.com/{študent}/prodajalna/compare/{commit}
Na spletni strani /prijava ste opazili, da lahko izberete poljubno stranko, za katero lahko nato napolnite košarico. Pri trenutni implementaciji se lahko osnovna spletna stran (https://vasa-poddomena.c9users.io/) odpre, čeprav predhodno ne izberete nobene stranke. Dopolnite implementacijo tako, da uporabnika v primeru, ko odpre osnovno spletno stran brez, da bi predhodno izbral stranko na strani /prijava, avtomatsko preusmeri na stran /prijava. Na osnovni spletni strani morate implementirati tudi delovanje gumba Odjava, ki naj razveljavi trenutno izbiro stranke in uporabnika preusmeri na spletno stran /prijava (Namig: pomagajte si s sejno spremenljivko).
Zahtevane spremembe implementirajte v predhodno ustvarjeni veji izbira-stranke. Med delom lahko smiselno uveljavljajte spremembe v lokalnem in oddaljenem GitHub repozitoriju, dočim pa ob koncu spremembe uveljavite s sporočilom "Zaključek dela na II. nalogi". Prav tako naj bodo vse spremembe v veji vidne tudi v vašem oddaljenem repozitoriju.
Spletno povezavo na zadnjo uveljavitev v GitHub repozitoriju v veji izbira-stranke s sporočilom "Zaključek dela na II. nalogi", ki vključuje vse zahtevane spremembe.
II. naloga: https://github.com/{študent}/prodajalna/compare/{commit}
Na spletni strani /prijava lahko opazite seznam računov, ki se nahajajo v podatkovni bazi. V primeru, da izberete na enega izmed njih, se vam odpre prazna stran. Dopolnite implementacijo aplikacije tako, da se vam namesto prazne strani v novem zavihku odpre HTML prikaz izbranega računa. Za vsak račun tudi veste, kdo ga je naročil (angl. Customer), zato v račun tudi ustrezno vnesite podatke o stranki.
Podatke o stranki vnesite v razdelek računa, ki definira naročnika. Polja, ki jih morate upoštevati in primer je prikazan v razdelku A. Dodatek 1.
Zahtevane spremembe implementirajte v predhodno ustvarjeni veji prikaz-racuna. Med delom lahko smiselno uveljavljajte spremembe v lokalnem in oddaljenem GitHub repozitoriju, dočim pa ob koncu spremembe uveljavite s sporočilom "Zaključek dela na III. nalogi". Prav tako naj bodo vse spremembe v veji vidne tudi v vašem oddaljenem repozitoriju.
Spletno povezavo na zadnjo uveljavitev v GitHub repozitoriju v veji prikaz-racuna s sporočilom "Zaključek dela na III. nalogi", ki vključuje vse zahtevane spremembe.
III. naloga: https://github.com/{študent}/prodajalna/compare/{commit}
Sedaj ste mogoče že opazili neskladno delovanje aplikacije, saj če izberete eno izmed strank na strani /prijava, napolnite njeno košarico in pripravite račun, se vedno pripravi račun za istega naročnika. Spremenite implementacijo spletne strani tako, da se vam ob kliku na gumb Pripravi račun (HTML) ali Pripravi račun (XML) v novem zavihku pripravi ustrezen račun za vašo izbrano stranko (t.j. naročnika).
Podatke o stranki vnesite v razdelek računa, ki definira naročnika. Polja, ki jih morate upoštevati in primer je prikazan v razdelku A. Dodatek 1.
Zahtevane spremembe implementirajte v predhodno ustvarjeni veji prikaz-racuna-trenutni. Med delom lahko smiselno uveljavljajte spremembe v lokalnem in oddaljenem GitHub repozitoriju, dočim pa ob koncu spremembe uveljavite s sporočilom "Zaključek dela na IV. nalogi". Prav tako naj bodo vse spremembe v veji vidne tudi v vašem oddaljenem repozitoriju.
Spletno povezavo na zadnjo uveljavitev v GitHub repozitoriju v veji prikaz-racuna-trenutni s sporočilom "Zaključek dela na IV. nalogi", ki vključuje vse zahtevane spremembe.
IV. naloga: https://github.com/{študent}/prodajalna/compare/{commit}
Z uporabo GIT ukazov v ukazni lupini razvojnega okolja Cloud9 veje razvoja registracija, izbira-stranke, prikaz-racuna in prikaz-racuna-trenutni združite v vejo master. Pri tem pazite, da samih vej ne izbrišete. Na koncu v repozitorij dodajte še Markdown datoteko avtorstvo.md, ki naj vsebuje podano vsebino.
Študent z vpisno številko _{vpisna}_ potrjujem, da sem __edini avtor__ oddane domače naloge.
Zahtevane spremembe implementirajte v veji master. Med delom lahko smiselno uveljavljajte spremembe v lokalnem in oddaljenem GitHub repozitoriju, dočim pa ob koncu spremembe uveljavite s sporočilom "Zaključek dela na domači nalogi". Prav tako naj bodo vse spremembe v veji vidne tudi v vašem oddaljenem repozitoriju.
Spletno povezavo na zadnjo uveljavitev v GitHub repozitoriju v veji master s sporočilom "Zaključek dela na domači nalogi", ki vključuje vse zahtevane spremembe.
V. naloga: https://github.com/{študent}/prodajalna/compare/{commit}
V tem dodatku opisujemo, kako je potrebno nastavljati podatke o naročniku, ko pripravljamo račun za stranko prodajalne e-Pesmi+.
Kopiranje vrednosti:
Podatki o naročniku na računu | Potrebna polja iz podatkovne baze |
---|---|
NazivPartnerja1 | FirstName LastName |
NazivPartnerja2 | Company |
Ulica1 | Address |
Kraj | City |
NazivDrzave | Country |
PostnaStevilka | PostalCode |
Komunikacije->StevilkaKomunikacije (TE) | Phone |
Komunikacije->StevilkaKomunikacije (FX) | Fax |
Ime Osebe | FirstName LastName (Email) |
V podatkovni bazi nimamo definiranih vseh podatkov, ki bi jih potrebovali za pripravo računa, zato bodo nekateri razdelki računa za naročnika neizpolnjeni:
- KodaDrzave
- ReferencniPodatkiPodjetja
- FinancniPodatkiPodjetja
Primer izgleda obstoječega računa "Manoj Pareek (412) - 2011-12-22":