Elibrium: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kfrank (talk | contribs)
Mhakkine (talk | contribs)
No edit summary
 
(64 intermediate revisions by 2 users not shown)
Line 27: Line 27:
* TFS
* TFS
* ADO.NET
* ADO.NET
* SQL andmebaas


== Analüüs ==
== Analüüs ==


==Mida see endas sisaldab?==
'''Mida see endas sisaldab?'''


*Sisaldab endas üldiselt WPF rakendust, mis annab ülevaate klientidest, keda on võimalus sisestada, muuta ja kustutada.<br>
*WPF rakendus, millel oleks olemas ViewModel, mis võimaldab kliente lisada ning neid otsida.<br>
*Rakenduse põhiidee on klientide andmete talletamine andmebaasi ning pärast, läbi WPF rakenduse ka nende leidmine. Kliendi andmeid saab lisada ainult admin, sest rakendus ongi just mõeldud admin kasutuseks. Kliendil on võimalus kontakteeruda adminiga, kui tal on soov ennast lisada antud listi. Kui klient on lisatud on talle võimalik saata meilile pakkumisi soovitud valdkondadest.<br>
* Projektis on olemas ka andmebaas kasutajate info haldamiseks. Andmebaasi salvestatakse info, mis on seotud kliendiga, täpsemalt öeldes, lisatakse andmebaasi kliendi eesnimi, perekonnanimi, sünnipäev ning kontaktvõimalus, mille teel oleks võimalik kliendile pakkumisi saata soovitud asukohta.<br>
* Andmebaasis on hetke seisuga loodud 7 tabelit, mis on projektile sobiv kogus, et rakendus töötaks nii nagu ta peaks.<br>
* Rakendus sisaldab endas ühte main windowit, millest on võimalik edasi navigeerida soovitud valdkondadesse, kus asetseb lõpuks info klientide kohta.


Sisaldab endas üldiselt WPF rakendust, mis annab ülevaate klientidest, keda on võimalus sisestada, muuta ja kustutada kontaktisikuid.<br>
'''Mida tavakasutaja sellega teha saaks?'''
WPF rakendus, millel oleks olemas ViewModel, mis võimaldab kliente lisada ning neid otsida.<br>
Rakenduse põhiidee on klientide andmete talletamine andmebaasi ning pärast, läbi WPF rakenduse ka nende leidmine. Kliendi andmeid saab lisada ainult admin, sest rakendus ongi just mõeldud admin kasutuseks. Kliendil on võimalus kontakteeruda adminniga, kui tal on soov ennast lisada antud listi. Kui klient on lisatud on talle võimalik saata meilile pakkumisi soovitud valdkondadest.<br>


==Mida tavakasutaja sellega teha saaks?==
*Tavakasutajal on võimalus teha hinnapakkumisi enda klientidele ja omada sellest samuti ka ülevaadet.<br>Samas on seal võimalik ka leida klientide kontaktandmeid, kui see osutub vajalikuks.<br>
 
*Tavakasutaja ja klient on erinevad isikud. Tavakasutaja on admin, kes tegeleb just klientidega, et neile pakkumisi valmistada ning neid hiljem ka meilile saata.<br>
 
*Klient on isik, kes annab adminile teada, et ta soovib osa võtta eripakkumistest, mida admin koostab klientidele läbi rakenduse.
Tavakasutajal on võimalus teha hinnapakkumisi enda klientidele ja omada sellest samuti ka ülevaadet. Samas on seal võimalik ka leida klientide kontaktandmeid, kui see osutub vajalikuks. Tavakasutaja ja klient on erinevad isikud. Tavakasutaja on admin, kes tegeleb just klientidega, et neile pakkumisi valmistada ning neid hiljem ka meilile saata. Klient on isik, kes annab adminile teada, et ta soovib osa võtta eripakkumistest, mida admin koostab klientidele läbi rakenduse.
 
==Millise osade realiseerimine võib osutuda problemaatiliseks?==


'''Millise osade realiseerimine võib osutuda problemaatiliseks?'''


*Problemaatiliseks võib osutuda meili saatmise funktsionaalsuse loomine ning teenuse ühildamine WPF rakendusega.<br>
*Problemaatiliseks võib osutuda meili saatmise funktsionaalsuse loomine ning teenuse ühildamine WPF rakendusega.<br>
Line 53: Line 56:


==== Must have ====
==== Must have ====
*Võimalus sisestada kontaktisikuid.<br>
*Võimalus sisestada kontaktisikuid. - Done<br>
*Muuta kontakte.<br>
*Muuta kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done<br>
*Kustutada kontakte.<br>
*Kustutada kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done<br>
*Sisestada kontakte.<br>
*Sisestada kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done<br>
*Koostada hinnapakkumisi klientidele.<br>
*Koostada hinnapakkumisi klientidele. - Done<br>
*Pakkumiste saatmine klientidele läbi meili.<br>
*Pakkumiste saatmine klientidele läbi meili. -Done<br>
*Töötav WPF rakendus.
*Töötav WPF rakendus -Done.


==== Nice to have ====
==== Nice to have ====


*Meili saatmine klientidele sünnipäeva puhul.<br>
*Meili saatmine klientidele sünnipäeva puhul. - Done<br>
*Rakendusel olemasolev disain, mis annab silmailu.-Not Done<br>
*Võimalus kustutada ListViewst mitu kirjet korraga -Done<br>
*Võimalus kliendikontakt kustutada, kui tal on kontakte (kusutatakse ka kontaktid sellele kliendile) -Not Done<br>
*Võimalus kustutada Klient, ning seejärel valida, kas soovitakse kliendikontakte viia ühest firmast teise Not Done<br>
*Võimalus lisada kliendikontaktidele positsiooni (ameti) -Done <br>
*On võimalik näha isikute tööalast ajalugu - Not Done
 
==Andmebaasi mudelid==
 
<gallery mode=nolines widths=600px heights=600px>
File:latestElibrium.png|'''Latest versioon 1.2'''
</gallery>
 
<gallery mode=nolines>
File:Vol1.png|Older versioon 1.1
File:latest.png|Older versioon 1.0
</gallery>
 
== Prototüüp ==
28.11 õhtuse seisuga on valmis järgnevad funktsionaalsused:
 
Lisada, kustutada, muuta kliente ja kliendikontakte.
Kuvatakse kontaktitüübid, lisada kontaktitüüpe, lisada ja muuta kontakte.
On võimalik navigeerida erinevates vaadetes, on võimalik kliendi ja kliendikontaktide tulemusi sorteerida (Ascending to Descending ja vastupidi)
 
Tegemata on veel : Kontaktide lisamise võimalus klientidele ja kliendikontaktidele, emailide saatmine, pakkumiste koostamine, emaili "template"de loomise vaade.
 
Prototüüp : http://enos.itcollege.ee/~mhakkine/CSharp/Elibrium.zip<br>
Prototüübi andmebaasi loomise juhend : http://enos.itcollege.ee/~mhakkine/CSharp/Juhend.txt
 
Lõpptoode : http://enos.itcollege.ee/~mhakkine/CSharp/Elibrium.rar<br>
Lõpptoote andmebaasi loomise juhend : http://enos.itcollege.ee/~mhakkine/CSharp/Juhend.txt


=== Tehtud töö ===
== Tehtud töö ==
17.10.2016 TFSI projekti loomine, tiim lõi mõned andmebaasitabelid, tegi esimese commiti projekti. Lisasime ka õppejõule ligipääsu.<br>
17.10.2016<br>
31.10.2016 Wiki lehele analüüsi, must have, nice to have lisamine.<br>
*TFSI projekti loomine, tiim lõi mõned andmebaasitabelid, tegi esimese commiti projekti. Lisasime ka õppejõule ligipääsu.<br>
01.11.2016 SQL andmebaasi täiendamine ja parandamine ja algse WPF rakenduse loomine, mis kuvaks kliente.<br>
31.10.2016<br>
02.11.2016 Andmebaasi edasitäiendamine ja  BaseObjects klasside lisamine ning täiendamine.<br>
*Wiki lehele analüüsi, must have, nice to have lisamine.<br>
01.11.2016<br>
*SQL andmebaasi täiendamine ja parandamine ja algse WPF rakenduse loomine, mis kuvaks kliente.<br>
02.11.2016<br>
*Andmebaasi edasitäiendamine ja  BaseObjects klasside lisamine ning täiendamine.<br>
03.11.2016<br>
*Vaadete paigutamine kausta, Vaatemudelite paigutamine kausta, lõime esimese vaatemudeli,saime klientide andmed kuvama, kasutades Binding-uid, ning ViewModelit*<br>
04.11.2016<br>
*Retsentsiooni koostamine meeskond Gurmaanid analüüsile.<br>
08.11.2016<br>
*MainWindow'i ümberkonfigureerimine, pageview'de loomine, reaalajas andmebaasi info kuvamine textboxi, kui on lisatud uus isik.<br>
*Lisasime võimaluse filtreerida listview tulemusi.
11.11.2016<br>
*Märt : Lõin esmase otsingu, mis vajab küll viimistlemist, kuna paljude kirjete puhul pole see kõige optimaalsem
13.11.2016<br>
*Märt : Täiendasin vaateid, lõin uue VMi KliendiKontaktide jaoks, lisasin võimaluse Kliente kustutada ja Muuta<br>
27.11.2016<br>
*Märt : Täiendasin andmebaasimudelit, lisasin võimaluse lisada kontakte kliendikontaktidele*<br>
28.11.2016<br>
*Märt : Lisasin võimaluse kustutada kliendikontakti kontakte, täiendasin BOsid. Täiendasin ContactTypePage lehte. Lõin töötava otsingu funktsionaalsuse.
29.11.2016<br>
*Märt : Parandasin otsingut, lisasin mõnedele väljadele andmete sisestamise puhul validatsiooni*
1.12.2016<br>
*Märt : Lisasin võimaluse lisada Pakkumistele kliente, täiendasin pakkumiste vaatemudelit ja vaadet.
2.12.2016<br>
*Märt : Lõin uue projekti,nüüd on 2 projekti (ElibriumWPF ja Elibrium). Customer nimetati ümber Personiks. Contact1 tabel kadus ära, kuna Klient on nüüd ettevõte, mitte FIE.
Lisasin võimaluse lisada ametitüüpe. Lõin ametitüüpide lisamiseks vaate, vaatemudeli ja teenuse. Edaspidi on plaanis teha eraldi teenused ka teiste andmebaasiolemite jaoks.
14.12.2016<br>
*Märt : Lõin eraldi teenuse iga BO jaoks, liigutasin ümber koodi VM-ist BO-sse, Lisasin võimaluse lisada pakkumisi klientidele<br>
15.12.2016<br>
*Märt : Lisasin võimaluse lisada ametitüüpi isikule <br>
08.01.2016<br>
*Märt : Parandasin livstview filterdamist ja täiendasin BO-sid, lisasin võimaluse saata pakkumisi klientidele, ning muuta pakkumise staatust<br>
09.01.2016<br>
*Märt : Lisasin võimaluse kustutada mitu kirjet korraga, formattisin koodi, ning asendasin space-d tabidega, eemaldasin üleliigsed "using"ud<br>
09.01.2016<br>
*Märt : Lisasin Baasklassi BaseTypeBO, mida kasutavad ContactTypeBO ja PositionTypeBO, lisasin Interface-i IBO<br>
19.01.2016<br>
*Märt : Lisasin mõned taustad, ning tegin uue lehe, kus võiks tulevikus olla võimalus muuta rakenduse disaini, ning taustavärvi. Nüüd on rakendusel mingisugune WPF skin (WPF TOOLKIT)<br>

Latest revision as of 22:01, 19 January 2017

Meeskond ja rollid

  • Märt Häkkinen
  • Karl Frank

Idee

Eesmärgiks on luua CRM, mis on üks 2016.a näidisülesannetest. Ülesandepüstitus on järgnev:

Oma klientidest peab olema ülevaade. Loo rakendus, mis võimaldab: Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada Võimalda sisestada kliendikontakte Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile. Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid

Lisavõimalused Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega Õnnitlusmeilide template’sid võiks olla mitu Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis

Tehnoloogia

Kasutatav tehnoloogia:

  • C#
  • Windows Presentation Foundation
  • XAML
  • TFS
  • ADO.NET
  • SQL andmebaas

Analüüs

Mida see endas sisaldab?

  • Sisaldab endas üldiselt WPF rakendust, mis annab ülevaate klientidest, keda on võimalus sisestada, muuta ja kustutada.
  • WPF rakendus, millel oleks olemas ViewModel, mis võimaldab kliente lisada ning neid otsida.
  • Rakenduse põhiidee on klientide andmete talletamine andmebaasi ning pärast, läbi WPF rakenduse ka nende leidmine. Kliendi andmeid saab lisada ainult admin, sest rakendus ongi just mõeldud admin kasutuseks. Kliendil on võimalus kontakteeruda adminiga, kui tal on soov ennast lisada antud listi. Kui klient on lisatud on talle võimalik saata meilile pakkumisi soovitud valdkondadest.
  • Projektis on olemas ka andmebaas kasutajate info haldamiseks. Andmebaasi salvestatakse info, mis on seotud kliendiga, täpsemalt öeldes, lisatakse andmebaasi kliendi eesnimi, perekonnanimi, sünnipäev ning kontaktvõimalus, mille teel oleks võimalik kliendile pakkumisi saata soovitud asukohta.
  • Andmebaasis on hetke seisuga loodud 7 tabelit, mis on projektile sobiv kogus, et rakendus töötaks nii nagu ta peaks.
  • Rakendus sisaldab endas ühte main windowit, millest on võimalik edasi navigeerida soovitud valdkondadesse, kus asetseb lõpuks info klientide kohta.

Mida tavakasutaja sellega teha saaks?

  • Tavakasutajal on võimalus teha hinnapakkumisi enda klientidele ja omada sellest samuti ka ülevaadet.
    Samas on seal võimalik ka leida klientide kontaktandmeid, kui see osutub vajalikuks.
  • Tavakasutaja ja klient on erinevad isikud. Tavakasutaja on admin, kes tegeleb just klientidega, et neile pakkumisi valmistada ning neid hiljem ka meilile saata.
  • Klient on isik, kes annab adminile teada, et ta soovib osa võtta eripakkumistest, mida admin koostab klientidele läbi rakenduse.

Millise osade realiseerimine võib osutuda problemaatiliseks?

  • Problemaatiliseks võib osutuda meili saatmise funktsionaalsuse loomine ning teenuse ühildamine WPF rakendusega.
  • Server Explorer aru saamine ning korrektselt tööle panemine.
  • Sünnipäeva õnnitluste saatmine klientidele meili kaudu.


Funktsionaalsus

Must have

  • Võimalus sisestada kontaktisikuid. - Done
  • Muuta kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done
  • Kustutada kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done
  • Sisestada kontakte,pakkumisi,kliente,kontaktisikuid,kontaktitüüpe,ameti(position) tüüpe. - Done
  • Koostada hinnapakkumisi klientidele. - Done
  • Pakkumiste saatmine klientidele läbi meili. -Done
  • Töötav WPF rakendus -Done.

Nice to have

  • Meili saatmine klientidele sünnipäeva puhul. - Done
  • Rakendusel olemasolev disain, mis annab silmailu.-Not Done
  • Võimalus kustutada ListViewst mitu kirjet korraga -Done
  • Võimalus kliendikontakt kustutada, kui tal on kontakte (kusutatakse ka kontaktid sellele kliendile) -Not Done
  • Võimalus kustutada Klient, ning seejärel valida, kas soovitakse kliendikontakte viia ühest firmast teise Not Done
  • Võimalus lisada kliendikontaktidele positsiooni (ameti) -Done
  • On võimalik näha isikute tööalast ajalugu - Not Done

Andmebaasi mudelid

Prototüüp

28.11 õhtuse seisuga on valmis järgnevad funktsionaalsused:

Lisada, kustutada, muuta kliente ja kliendikontakte. Kuvatakse kontaktitüübid, lisada kontaktitüüpe, lisada ja muuta kontakte. On võimalik navigeerida erinevates vaadetes, on võimalik kliendi ja kliendikontaktide tulemusi sorteerida (Ascending to Descending ja vastupidi)

Tegemata on veel : Kontaktide lisamise võimalus klientidele ja kliendikontaktidele, emailide saatmine, pakkumiste koostamine, emaili "template"de loomise vaade.

Prototüüp : http://enos.itcollege.ee/~mhakkine/CSharp/Elibrium.zip
Prototüübi andmebaasi loomise juhend : http://enos.itcollege.ee/~mhakkine/CSharp/Juhend.txt

Lõpptoode : http://enos.itcollege.ee/~mhakkine/CSharp/Elibrium.rar
Lõpptoote andmebaasi loomise juhend : http://enos.itcollege.ee/~mhakkine/CSharp/Juhend.txt

Tehtud töö

17.10.2016

  • TFSI projekti loomine, tiim lõi mõned andmebaasitabelid, tegi esimese commiti projekti. Lisasime ka õppejõule ligipääsu.

31.10.2016

  • Wiki lehele analüüsi, must have, nice to have lisamine.

01.11.2016

  • SQL andmebaasi täiendamine ja parandamine ja algse WPF rakenduse loomine, mis kuvaks kliente.

02.11.2016

  • Andmebaasi edasitäiendamine ja BaseObjects klasside lisamine ning täiendamine.

03.11.2016

  • Vaadete paigutamine kausta, Vaatemudelite paigutamine kausta, lõime esimese vaatemudeli,saime klientide andmed kuvama, kasutades Binding-uid, ning ViewModelit*

04.11.2016

  • Retsentsiooni koostamine meeskond Gurmaanid analüüsile.

08.11.2016

  • MainWindow'i ümberkonfigureerimine, pageview'de loomine, reaalajas andmebaasi info kuvamine textboxi, kui on lisatud uus isik.
  • Lisasime võimaluse filtreerida listview tulemusi.

11.11.2016

  • Märt : Lõin esmase otsingu, mis vajab küll viimistlemist, kuna paljude kirjete puhul pole see kõige optimaalsem

13.11.2016

  • Märt : Täiendasin vaateid, lõin uue VMi KliendiKontaktide jaoks, lisasin võimaluse Kliente kustutada ja Muuta

27.11.2016

  • Märt : Täiendasin andmebaasimudelit, lisasin võimaluse lisada kontakte kliendikontaktidele*

28.11.2016

  • Märt : Lisasin võimaluse kustutada kliendikontakti kontakte, täiendasin BOsid. Täiendasin ContactTypePage lehte. Lõin töötava otsingu funktsionaalsuse.

29.11.2016

  • Märt : Parandasin otsingut, lisasin mõnedele väljadele andmete sisestamise puhul validatsiooni*

1.12.2016

  • Märt : Lisasin võimaluse lisada Pakkumistele kliente, täiendasin pakkumiste vaatemudelit ja vaadet.

2.12.2016

  • Märt : Lõin uue projekti,nüüd on 2 projekti (ElibriumWPF ja Elibrium). Customer nimetati ümber Personiks. Contact1 tabel kadus ära, kuna Klient on nüüd ettevõte, mitte FIE.

Lisasin võimaluse lisada ametitüüpe. Lõin ametitüüpide lisamiseks vaate, vaatemudeli ja teenuse. Edaspidi on plaanis teha eraldi teenused ka teiste andmebaasiolemite jaoks. 14.12.2016

  • Märt : Lõin eraldi teenuse iga BO jaoks, liigutasin ümber koodi VM-ist BO-sse, Lisasin võimaluse lisada pakkumisi klientidele

15.12.2016

  • Märt : Lisasin võimaluse lisada ametitüüpi isikule

08.01.2016

  • Märt : Parandasin livstview filterdamist ja täiendasin BO-sid, lisasin võimaluse saata pakkumisi klientidele, ning muuta pakkumise staatust

09.01.2016

  • Märt : Lisasin võimaluse kustutada mitu kirjet korraga, formattisin koodi, ning asendasin space-d tabidega, eemaldasin üleliigsed "using"ud

09.01.2016

  • Märt : Lisasin Baasklassi BaseTypeBO, mida kasutavad ContactTypeBO ja PositionTypeBO, lisasin Interface-i IBO

19.01.2016

  • Märt : Lisasin mõned taustad, ning tegin uue lehe, kus võiks tulevikus olla võimalus muuta rakenduse disaini, ning taustavärvi. Nüüd on rakendusel mingisugune WPF skin (WPF TOOLKIT)