Meeskond "Project Manager": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rtammel (talk | contribs)
Rtammel (talk | contribs)
 
(76 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Kirjeldus =
= Kirjeldus =
Projektihaldur on äri rakendus, mis on loodud kasutades asp.net kasutajaliidest. Rakendus võimaldab projektijuhtidel koostada isiklike projekte firma klientidele ja siduda neid kasutajatega, tehes tööülesandeid projektidele. Pärast tööülesande loomist on kasutajal võimalik hakkata oma tööaegu regama ja projektijuhil on hiljem ülevaade kogu projektile kulutatud ajast. Erinevatesse keskkondadesse pääseb läbi eduka kasutaja autoriseerimise. Rakendus eeldab kasutaja browseris küpsiste ja javascripti lubamist.
Projektihaldur on ärirakendus, mis on loodud kasutades asp.net kasutajaliidest. Rakendus võimaldab projektijuhtidel koostada isiklike projekte firma klientidele ja siduda neid kasutajatega, tehes tööülesandeid projektidele. Pärast tööülesande loomist on kasutajal võimalik hakkata oma tööaegu regama ja projektijuhil on hiljem ülevaade kogu projektile kulutatud ajast. Erinevatesse keskkondadesse pääseb läbi eduka kasutaja autoriseerimise. Rakendus eeldab kasutaja browseris küpsiste ja javascripti lubamist.
 
'''Iga projektijuht, kes on Admin saab teha oma projekte! Projekte tehakse sisseloginud kasutaja session ID alusel.'''
 
'''Palume, mitte kustutada kasutajaid, kes pole Teie poolt loodud!'''
:'''Sisselogimiseks on kasutajad:'''
:'''Kasutajanimi:''' ''admin'' '''Parool:''' ''admin''
:'''Kasutajanimi:''' ''user''  '''Parool:''' ''user''
 
*[http://projectmanager.raimotammel.com/ Link rakendusele]
 
*[http://projectmanager.raimotammel.com/ProjectManager.zip Source code]
:'''1.''' ''Paki source code .zip fail lahti.''
:'''2.''' ''Ava Visual Studio > File > Open > Web Site... > File System > Vali "ProjectManager" kaust ja Open.''
 
*[http://projectmanager.raimotammel.com/rtammel_ITK.zip SQL Database Script] '': 27.12.2010''


= Meeskond =
= Meeskond =
* Raimo Tammel
* Raimo Tammel
* Martin Tõkke
* Martin Tõkke
= Screens =
<gallery>
</gallery>
= Lingid =
* [http://www.asp.net/ ASP.NET]
* [http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Default.aspx ASP.NET AJAX Control Toolkit]


=Tehniline pool=
=Tehniline pool=
Line 29: Line 36:
: ModalPopup
: ModalPopup
: Calendar
: Calendar
= Screens =
<gallery>
File:loginPage.jpg|Sisselogimise leht
File:homePage.jpg|Projektijuhi avaleht
File:projectsPage.jpg|Projektide leht
File:newProjectPopup.jpg|Uue Projekti popup
File:newProjectPopup.jpg|Tööülesannete leht
File:newTaskPopup.jpg|Uue tööülesande popup
File:editTaskPopup.jpg|Tööülesande muutmise popup
File:usersPage.jpg|Kasutajate leht
File:changePswPopup.jpg|Kasutaja parooli muutmise popup
File:userTasksPage.jpg|Kasutaja avaleht
File:taskReportPopup.jpg|Kasutaja tööaja regamise popup
File:userTimesheetPage.jpg|Kasutaja regatud tööaja leht
</gallery>
= Lingid =
* [http://www.asp.net/ ASP.NET]
* [http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Default.aspx ASP.NET AJAX Control Toolkit]


=Lehe arhitektuur=
=Lehe arhitektuur=
Line 34: Line 61:
===Admin===
===Admin===


:'''AdminMasterPage.master'''
:*'''Controls'''
:'''Clients.aspx''': ''Kliendid leht''
::*'''Menu.ascx''': ''Menüü kontroller XML Web.sitemap andmeallikaga''
:'''Default.aspx''': ''Home leht, kus vuvatakse projektijuhi aktiivseid projekte''
:*'''AdminMasterPage.master''': ''MasterPage.master alam konteiner admin keskkonna jaoks''
:'''Projects.aspx''': ''Projektide leht''
:*'''Clients.aspx''': ''Kliendid leht''
:'''Tasks.aspx''': ''Tööülesannete leht''
:*'''Default.aspx''': ''Home leht, kus kuvatakse projektijuhi aktiivseid projekte''
:'''User.aspx''': ''Kasutaja detail vaate leht''
:*'''Projects.aspx''': ''Projektide leht''
:'''Users.aspx''': ''Kasutajate leht''
:*'''Tasks.aspx''': ''Tööülesannete leht''
:*'''User.aspx''': ''Kasutaja detail vaate leht''
:*'''Users.aspx''': ''Kasutajate leht''


===App_Code===
===App_Code===


:'''DataClasses.dbml''': ''LINQ to SQL Classes''
:*'''DataClasses.dbml''': ''LINQ to SQL Classes''


===App_Themes===
===App_Themes===


:'''Default'''
:*'''Default''': Template kaust
:'''- Images''': ''Pildid kaust''
::*''' Images''': ''Piltide kaust''
:'''- Style.css''': ''Stiili CSS''
::*''' Style.css''': ''Stiili CSS''


===Bin===
===Bin===


:'''AjaxControlToolkit.dll''': ''ASP.NET Ajax Control Toolkit 3.5''
:*'''AjaxControlToolkit.dll''': ''ASP.NET Ajax Control Toolkit 3.5''


===Controls===
===Controls===


:'''Header.aspx''': ''Lehe päise kontoll''
:*'''Header.ascx''': ''Lehe päise kontoll''
 
===User===
 
:*'''Controls'''
::*'''Menu.ascx''': ''Menüü kontroller XML Web.sitemap andmeallikaga''
:*'''Default.aspx''': ''Kasutaja tööaja regamise leht''
:*'''Timessheet.aspx''': ''Kasutaja regatud tööaja kuvamise leht''
:*'''User.aspx''': ''Kasutaja detail vaate leht''
:*'''UserMasterPage.master''': ''MasterPage.master alam konteiner user keskkonna jaoks''
 
* '''Default.aspx''': ''Sisselogimise leht''
* '''Global.asax''': ''Autentimise teostamiseks rakenduses''
* '''MasterPage.master''': ''Rakenduse põhi konteiner''
* '''Web.config''': ''Lehe konfiguratsiooni fail''
* '''Web.sitemap''': ''Menüü fail XML kujul''


=Üldine lehe struktuur=
=Üldine lehe struktuur=
Line 64: Line 108:
===Erinevad kasutajate tüübid ja nende õigused===
===Erinevad kasutajate tüübid ja nende õigused===


1. '''KASUTAJAD'''
1. '''KASUTAJAD e. Kasutajad, kes regavad oma tööaegu'''
* Saavad regada oma tööaegu
* Saavad regada oma tööaegu
* Saavad vaadata oma regatud tööaegu kuu, aasta lõikes
* Saavad vaadata oma regatud tööaegu kuu, aasta lõikes
* Saavad vaadata oma andmeid ja muuta oma parooli
* Saavad vaadata oma andmeid ja muuta oma parooli
2. '''ADMINISTRAATORID'''
2. '''ADMINISTRAATORID e. Projekti juhid'''
*Saavad jälgida projektile kulutad aja hulka.
*Saavad jälgida oma projektile kulutad aja hulka.
*Saavad muuta, lisada ja kustutada kliente
*Saavad muuta, lisada ja kustutada kliente
*Saavad muuta, lisada ja kustutada projekte
*Saavad muuta, lisada ja kustutada isiklike projekte
*Saavad muuta, lisada ja kustutada tööülesandeid
*Saavad muuta, lisada ja kustutada isiklike projektidega seotud tööülesandeid
*Saavad muuta, lisada ja kustutada kasutajaid
*Saavad muuta, lisada ja kustutada kasutajaid
*Saavad vaadata oma andmeid ja muuta oma parooli
*Saavad vaadata oma andmeid ja muuta oma parooli
Line 82: Line 126:
:Tööjaotus.
:Tööjaotus.


*'''25.11.10 - 26.11.10'''
*'''24.11.10 - 26.11.10'''
: Esialgse andebaasi mudeli loomine.
: Esialgse andebaasi mudeli loomine.
: Kasutaja ja kasutajatüübi tabeli loomine.
: Kasutaja ja kasutajatüübi tabeli loomine.
: Esialgse lehe layouti valmimine.
: Esialgse lehe layouti valmimine.
: Rakenduse kujunduse tegemine.


*'''28.11.10 - 29.11.10 '''
*'''28.11.10 - 29.11.10 '''
: Login süsteemi tegemine.
: Login süsteemi tegemine.
: Kasutaja parooli baasi salvestamiseks kasutasime MD5 tüüpi krüpteeringut.


*'''30.11.10'''
*'''30.11.10'''
: Kasutajanime, parooli ja kasutajatüübi põhise sisselogimise valmimine.
: Valmis kasutajanime, parooli ja kasutajatüübi põhine sisselogimise leht.
: Administraator ja kasutaja suunatakse pärast edukat sisse logimist oma keskkonda.
: Keskkonnad on jagatud kaheks admin keskkond ja user keskkond.
: Web.config failis toimub vorm tüüpi autentimene.
: Global.aspx failis teostame autentimise päringu.
: Hiljem suunatakse kasutaja edasi vastavasse keskkonda kasutaja tüübi alusel.
: Edukal sisselogimisel tehakse kasutaja andmete põhjal krüteeritud kasutaja Id (HttpCookie) küpsis ja (FormsAuthenticationTicket) vorm tüüpi autentiseeritud pilet.
: Keskkonda sisseloginud kasutajat kuvatakse lehe päises kasutades LoginViewd ja LoggedInTemplate.
: Kasutaja logitakse välja kasutades FormsAuthentication.SignOut(); funktsiooni ja suunatakse rakenduse sisselogimise lehele.


*'''01.12.10 - 04.12.10
*'''01.12.10 - 04.12.10
: Andmebaasi uuendamine tabelitega.
: Andmebaasi uuendamine tabelitega.
: Firma kliendi ja projekti lehe tegemine.
: Esialgse (edit.aspx?id=) edit.aspx lehe tegemine, et saaks andmeid baasi salvestada.


*'''05.12.10'''
*'''05.12.10'''
: Andmete kuvamiseks kasutame asp.neti data repeaterit.


*'''06.12.10 - 07.12.10'''
*'''06.12.10 - 07.12.10'''
Line 105: Line 160:
: Valmis esimene popup kasutades ASP.NET Ajax Control Toolkiti ModalPopup laiendust.
: Valmis esimene popup kasutades ASP.NET Ajax Control Toolkiti ModalPopup laiendust.
: Add nupule vajutades avaneb popup ja sulgeda saab vajutades X nupule.
: Add nupule vajutades avaneb popup ja sulgeda saab vajutades X nupule.
: Uut infot oli nüüd võimalik salvestada baasi kasutades popupi.
: Uut infot oli nüüd võimalik salvestada baasi kasutades popupi ja LINQ to SQLi.
: Repeater on ümbritsetud Ajaxi UpdatePaneliga.
: Repeater on ümbritsetud Ajaxi UpdatePaneliga.
: Peale info salvestamist uuendatakse updatepanelit ja binditakse repeater uuesti ilma lehe refreshita.   
: Peale info salvestamist uuendatakse updatepanelit ja binditakse repeater uuesti ilma lehe refreshita.   


*'''10.12.10'''
*'''09.12.10'''
: Valmis esimene Edit popup.
: Valmis esimene Edit popup.
: Popup avaneb Edit ikoonile vajutades.
: Popup avaneb Edit ikoonile vajutades.
: Update nupuga saab baasis muuta andmeid.
: Update nupuga saab baasis muuta andmeid.
: Muuda ja kustuta nupud tegime data repeaterisse asp.neti repeateri ItemCommandiga (OnItemCommand) lisades lingile CommandNamei ja CommandArgumenti
*'''10.12.10 - 11.12.10'''
: Projekti lehe täiustamine popupiga.
: Tööülesannete lehe valmimine.
: Andmete kuvamiseks tööülesannete lehel sai tehtud 3 leveliga repeater koos objekti seosega (Relations.Add).


*'''12.12.10'''
*'''12.12.10'''
Line 118: Line 179:
: Lehtedel kuvatase ainult sisseloginud kasutaja loodud aktiivseid projekte ja tööülesandeid.
: Lehtedel kuvatase ainult sisseloginud kasutaja loodud aktiivseid projekte ja tööülesandeid.
: Tööulesandied saab lisada ainult kasutajatele ja aktiivsetele projektidele.
: Tööulesandied saab lisada ainult kasutajatele ja aktiivsetele projektidele.
: Kasutajate ja kasutaja detail andmete lehe valmimine.
: Kasutaja saab oma parooli muuta My account lehel.


*'''13.12.10'''
*'''13.12.10'''
: Andmebaasi uuendamine tabelitega.
: Alustasime tööd kasutaja keskkonnaga.
: Alustasime tööd kasutaja keskkonnaga.


*'''15.12.10'''
*'''15.12.10'''
: Kasutaja tööaja regamine sai valmis.
: Kasutaja tööaja regamine sai valmis.
: Kasutajal on võimalik regada oma tööaegu projektijuhi poolt loodud tööülesandele.  
: Kasutajal on võimalik regada oma tööaegu projektijuhi poolt loodud tööülesannetele.
: Kuupäeva valimise tegime kasutades ASP.NET Ajax Control Toolkiti Calendar Extensionit.


*'''16.12.10'''
*'''16.12.10'''
: Kasutaja regatud tööaja "Timesheet" leht sai valmis.
: Kasutaja regatud tööaja "Timesheet" leht sai valmis.
: Kasutajal on võimalik oma regatud tööaegu vaadata kuu, aasta lõikes ja vajadusel kustutda oma regatud aegu.
: Kasutajal on võimalik oma regatud tööaegu vaadata kuu, aasta lõikes ja vajadusel kustutda oma regatud aegu.
: Admin keskkonda avalehe tegemine, kus projekti juhil on ülevaade on aktiivsetest projektidest ja kui palju tööaega on kulunud.
*'''17.12.10 - 19.12.10'''
: Sisselogimis lehele ja popupidele valideerimie tegemine.
: Valideerimiseks kasutame ASP.NETi RequiredFieldValidatorit, RegularExpressionValidatorit, ValidationGroupi ja ValidationSummarit.
: Kasutaja tüübi alusel menüü tegemine.
: Igale keskkonnale tegime menüü kontrollerid.
: Menüü tegemiseks kasutasime ASP.NETi XML Sitemapi ja seadistasime Web.config faili, et lubada sitemapi security trimmingut kasutaja tüübi alusel.
*'''20.12.10 - 22.12.10'''
: Kujunduse sidumine rakendusega.
: App_Themes kausta lehe template tegemine.
: Style.css lehe kirjutamine.


*'''17.12.10'''
*'''23.12.10'''
: Toimub rakenduse serverisse laadimine.
: Kopeerime loacal andembaasist andmed serveri baasi.
: Viimaste bugide fiximine enne launchi.

Latest revision as of 16:26, 5 January 2011

Kirjeldus

Projektihaldur on ärirakendus, mis on loodud kasutades asp.net kasutajaliidest. Rakendus võimaldab projektijuhtidel koostada isiklike projekte firma klientidele ja siduda neid kasutajatega, tehes tööülesandeid projektidele. Pärast tööülesande loomist on kasutajal võimalik hakkata oma tööaegu regama ja projektijuhil on hiljem ülevaade kogu projektile kulutatud ajast. Erinevatesse keskkondadesse pääseb läbi eduka kasutaja autoriseerimise. Rakendus eeldab kasutaja browseris küpsiste ja javascripti lubamist.

Iga projektijuht, kes on Admin saab teha oma projekte! Projekte tehakse sisseloginud kasutaja session ID alusel.

Palume, mitte kustutada kasutajaid, kes pole Teie poolt loodud!

Sisselogimiseks on kasutajad:
Kasutajanimi: admin Parool: admin
Kasutajanimi: user Parool: user
1. Paki source code .zip fail lahti.
2. Ava Visual Studio > File > Open > Web Site... > File System > Vali "ProjectManager" kaust ja Open.

Meeskond

  • Raimo Tammel
  • Martin Tõkke

Tehniline pool

LINQ to SQL Classes
Kasutajaliides
ASP.NET 3.5 / XHTML1.0 / CSS / Ajax Control Toolkit 3.5
Andmebaas
MS SQL 2008
ASP.NET Ajax Extensions
ScriptManager
UpdatePanel
UpdateProgress
ModalPopup
Calendar

Screens

Lingid

Lehe arhitektuur

Admin

  • Controls
  • Menu.ascx: Menüü kontroller XML Web.sitemap andmeallikaga
  • AdminMasterPage.master: MasterPage.master alam konteiner admin keskkonna jaoks
  • Clients.aspx: Kliendid leht
  • Default.aspx: Home leht, kus kuvatakse projektijuhi aktiivseid projekte
  • Projects.aspx: Projektide leht
  • Tasks.aspx: Tööülesannete leht
  • User.aspx: Kasutaja detail vaate leht
  • Users.aspx: Kasutajate leht

App_Code

  • DataClasses.dbml: LINQ to SQL Classes

App_Themes

  • Default: Template kaust
  • Images: Piltide kaust
  • Style.css: Stiili CSS

Bin

  • AjaxControlToolkit.dll: ASP.NET Ajax Control Toolkit 3.5

Controls

  • Header.ascx: Lehe päise kontoll

User

  • Controls
  • Menu.ascx: Menüü kontroller XML Web.sitemap andmeallikaga
  • Default.aspx: Kasutaja tööaja regamise leht
  • Timessheet.aspx: Kasutaja regatud tööaja kuvamise leht
  • User.aspx: Kasutaja detail vaate leht
  • UserMasterPage.master: MasterPage.master alam konteiner user keskkonna jaoks
  • Default.aspx: Sisselogimise leht
  • Global.asax: Autentimise teostamiseks rakenduses
  • MasterPage.master: Rakenduse põhi konteiner
  • Web.config: Lehe konfiguratsiooni fail
  • Web.sitemap: Menüü fail XML kujul

Üldine lehe struktuur

Erinevad kasutajate tüübid ja nende õigused

1. KASUTAJAD e. Kasutajad, kes regavad oma tööaegu

  • Saavad regada oma tööaegu
  • Saavad vaadata oma regatud tööaegu kuu, aasta lõikes
  • Saavad vaadata oma andmeid ja muuta oma parooli

2. ADMINISTRAATORID e. Projekti juhid

  • Saavad jälgida oma projektile kulutad aja hulka.
  • Saavad muuta, lisada ja kustutada kliente
  • Saavad muuta, lisada ja kustutada isiklike projekte
  • Saavad muuta, lisada ja kustutada isiklike projektidega seotud tööülesandeid
  • Saavad muuta, lisada ja kustutada kasutajaid
  • Saavad vaadata oma andmeid ja muuta oma parooli

Logi

  • 22.11.10
Lõppliku meeskonna koostamine.
Tööjaotus.
  • 24.11.10 - 26.11.10
Esialgse andebaasi mudeli loomine.
Kasutaja ja kasutajatüübi tabeli loomine.
Esialgse lehe layouti valmimine.
Rakenduse kujunduse tegemine.
  • 28.11.10 - 29.11.10
Login süsteemi tegemine.
Kasutaja parooli baasi salvestamiseks kasutasime MD5 tüüpi krüpteeringut.
  • 30.11.10
Valmis kasutajanime, parooli ja kasutajatüübi põhine sisselogimise leht.
Keskkonnad on jagatud kaheks admin keskkond ja user keskkond.
Web.config failis toimub vorm tüüpi autentimene.
Global.aspx failis teostame autentimise päringu.
Hiljem suunatakse kasutaja edasi vastavasse keskkonda kasutaja tüübi alusel.
Edukal sisselogimisel tehakse kasutaja andmete põhjal krüteeritud kasutaja Id (HttpCookie) küpsis ja (FormsAuthenticationTicket) vorm tüüpi autentiseeritud pilet.
Keskkonda sisseloginud kasutajat kuvatakse lehe päises kasutades LoginViewd ja LoggedInTemplate.
Kasutaja logitakse välja kasutades FormsAuthentication.SignOut(); funktsiooni ja suunatakse rakenduse sisselogimise lehele.
  • 01.12.10 - 04.12.10
Andmebaasi uuendamine tabelitega.
Firma kliendi ja projekti lehe tegemine.
Esialgse (edit.aspx?id=) edit.aspx lehe tegemine, et saaks andmeid baasi salvestada.
  • 05.12.10
Andmete kuvamiseks kasutame asp.neti data repeaterit.
  • 06.12.10 - 07.12.10
Uurime võimalust kasutada ajaxi modalpopupi info lisamisel ja muutmisel.
  • 08.12.10
Valmis esimene popup kasutades ASP.NET Ajax Control Toolkiti ModalPopup laiendust.
Add nupule vajutades avaneb popup ja sulgeda saab vajutades X nupule.
Uut infot oli nüüd võimalik salvestada baasi kasutades popupi ja LINQ to SQLi.
Repeater on ümbritsetud Ajaxi UpdatePaneliga.
Peale info salvestamist uuendatakse updatepanelit ja binditakse repeater uuesti ilma lehe refreshita.
  • 09.12.10
Valmis esimene Edit popup.
Popup avaneb Edit ikoonile vajutades.
Update nupuga saab baasis muuta andmeid.
Muuda ja kustuta nupud tegime data repeaterisse asp.neti repeateri ItemCommandiga (OnItemCommand) lisades lingile CommandNamei ja CommandArgumenti
  • 10.12.10 - 11.12.10
Projekti lehe täiustamine popupiga.
Tööülesannete lehe valmimine.
Andmete kuvamiseks tööülesannete lehel sai tehtud 3 leveliga repeater koos objekti seosega (Relations.Add).
  • 12.12.10
Repeaterit ja tööülesannete lisamine sai täiendatud.
Lehtedel kuvatase ainult sisseloginud kasutaja loodud aktiivseid projekte ja tööülesandeid.
Tööulesandied saab lisada ainult kasutajatele ja aktiivsetele projektidele.
Kasutajate ja kasutaja detail andmete lehe valmimine.
Kasutaja saab oma parooli muuta My account lehel.
  • 13.12.10
Andmebaasi uuendamine tabelitega.
Alustasime tööd kasutaja keskkonnaga.
  • 15.12.10
Kasutaja tööaja regamine sai valmis.
Kasutajal on võimalik regada oma tööaegu projektijuhi poolt loodud tööülesannetele.
Kuupäeva valimise tegime kasutades ASP.NET Ajax Control Toolkiti Calendar Extensionit.
  • 16.12.10
Kasutaja regatud tööaja "Timesheet" leht sai valmis.
Kasutajal on võimalik oma regatud tööaegu vaadata kuu, aasta lõikes ja vajadusel kustutda oma regatud aegu.
Admin keskkonda avalehe tegemine, kus projekti juhil on ülevaade on aktiivsetest projektidest ja kui palju tööaega on kulunud.
  • 17.12.10 - 19.12.10
Sisselogimis lehele ja popupidele valideerimie tegemine.
Valideerimiseks kasutame ASP.NETi RequiredFieldValidatorit, RegularExpressionValidatorit, ValidationGroupi ja ValidationSummarit.
Kasutaja tüübi alusel menüü tegemine.
Igale keskkonnale tegime menüü kontrollerid.
Menüü tegemiseks kasutasime ASP.NETi XML Sitemapi ja seadistasime Web.config faili, et lubada sitemapi security trimmingut kasutaja tüübi alusel.
  • 20.12.10 - 22.12.10
Kujunduse sidumine rakendusega.
App_Themes kausta lehe template tegemine.
Style.css lehe kirjutamine.
  • 23.12.10
Toimub rakenduse serverisse laadimine.
Kopeerime loacal andembaasist andmed serveri baasi.
Viimaste bugide fiximine enne launchi.