Univerza v Ljubljani Fakulteta za racˇunalniˇstvo in informatiko Rok Zaloˇznik Razvoj spletne aplikacije za upravljanje odnosov s strankami na podroˇcju nepremiˇcnin DIPLOMSKO DELO ˇ UNIVERZITETNI STUDIJSKI PROGRAM PRVE STOPNJE ˇ ˇ RACUNALNISTVO IN INFORMATIKA Mentor: doc. dr. Aleˇs Smrdel Ljubljana, 2016 Rezultati diplomskega dela so intelektualna lastnina avtorja in Fakultete za raˇcunalniˇstvo in informatiko Univerze v Ljubljani. Za objavljanje ali iz- koriˇsˇcanje rezultatov diplomskega dela je potrebno pisno soglasje avtorja, Fakultete za raˇcunalniˇstvo in informatiko Univerze v Ljubljani ter mentorja. Besedilo je oblikovano z urejevalnikom besedil LATEX. Fakulteta za raˇcunalniˇstvo in informatiko izdaja naslednjo nalogo: Tematika naloge: Obstaja veliko razliˇcnih sistemov za upravljanje odnosov s strankami, ki so primerni za razliˇcna podroˇcja. Ti sistemi pa so zelo sploˇsni in pogosto teˇzko prilagodljivi za specifiˇcna podroˇcja, kot je na primer podroˇcje posredovanja nepremiˇcnin. Vdiplomskinalogitakorazvijtenamenskisistemzaupravljanje odnosov s strankami, ki bo prilagojen podroˇcju posredovanja nepremiˇcnin. V ta namen razvijte primeren podatkovni model in razvijte spletno aplikacijo za upravljanje odnosov s strankami. Pri razvoju aplikacije izberite ustre- zne tehnologije na strani streˇznika in na strani odjemalca. Glede na samo naravo dela na podroˇcju posredovanja nepremiˇcnin, ki zahteva tudi mobil- nost uporabnikov sistema, pa poskrbite tudi za primerno delovanje in prikaz odjemalskega dela na mobilnih napravah. Ob tej priloˇznosti se iskreno zahvaljujem mentorju doc. dr. Aleˇsu Smr- delu za ˇcas in pomoˇc pri pisanju diplomskega dela. Posebna zahvala gre tudi starˇsem in vsem ostalim, ki so mi v ˇcasu ˇstudija stali ob strani ter me pod- pirali. Kazalo Povzetek Abstract 1 Uvod 1 1.1 Namen diplomske naloge . . . . . . . . . . . . . . . . . . . . . 2 1.2 Struktura diplomske naloge . . . . . . . . . . . . . . . . . . . 2 1.3 Cilj diplomske naloge . . . . . . . . . . . . . . . . . . . . . . . 3 2 Upravljanje odnosov s strankami 5 2.1 Ozadje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Specifiˇcni sistem CRM za popolno podporo . . . . . . . . . . . 9 3 Pregled in opis uporabljenih tehnologij ter orodij 11 3.1 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 Django REST Framework in Django . . . . . . . . . . . . . . 12 3.3 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4 AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.5 Grunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.6 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.7 HTML5 in CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . 15 4 Razvoj aplikacije 17 4.1 Arhitektura aplikacije . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 Podatkovni model . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.3 Streˇzniˇski del aplikacije . . . . . . . . . . . . . . . . . . . . . . 26 4.4 Odjemalski del aplikacije . . . . . . . . . . . . . . . . . . . . . 34 5 Sklepne ugotovitve 55 5.1 Nadaljnje delo . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Literatura 58 Seznam uporabljenih kratic kratica angleˇsko slovensko CRM customer relationship manage- upravljanje odnosov s stran- ment kami SPA single-page application eno-stranska aplikacija MVC model-view-controller model-pogled-nadzornik REST representational state transfer predstavitveni prenos stanja DRF django REST framework django REST ogrodje DRY don’t repeat yourself ne ponavljaj se ORM object-relational mapping objektno-relacijsko mapiranje VCS version control system sistem za nadzorovanje verzij ORDBMS object-relational database ma- sistem za upravljanje nagement system objektno-relacijskih po- datkovnih baz HTML hyper text markup language hiper tekstovni oznaˇcevalni je- zik CSS cascading style sheets kaskadne slogovne pole API application programming in- aplikacijski programski vme- terface snik DOM document object model dokumentni objektni model IT information technology informacijska tehnologija
Description: