View
218
Download
0
Category
Tags:
Preview:
Citation preview
2006 April1
WebCalendar ProjectWebCalendar Project
Final Presentation
Yohann Sabbah & Anna Silberman
Under the supervision of Victor Kulikov
2006 April2
General goals of the project
• Create a WebCalendar using ASP .NET C# based on SQL Server
• The Calendar must allow general basic functionalities like add an event, see the events, …
• It should support groups, and their management.
2006 April3
FunctionalitiesFunctionalities
2006 April4
Functionalities of the WebCalendar (1)
• Login using password encryption (encrypt using MD5 – algorithm based on cryptographic hash function).
• There are 3 possible users:– Administrator: he knows everything about everything.
He is the only one who can add/remove events/groups/users.
– Group Administrator: Every group has a group administrator who is the only one that can manage the group (add/remove users to the group).
– User: A simple user that can also belong to different groups.
2006 April5
Functionalities of the WebCalendar (2)
• Main View: all present week events
• Private ( ) and group events
• Walk through the calendar
• Click on event: show event’s details
• On show details:– Modify the event if owner of it– Add a comment (all users)
2006 April6
Functionalities of the WebCalendar (3)
• Search Engine:– The user can at any moment search for his
private events or group events of the groups he belong to.
– The result are shown dynamically and the user can click on each on of the results; that will show the details of the event.
2006 April7
Functionalities of the WebCalendar (4)
• Dynamic Main menu according to the user type
• Each user will see only the links to the actions he has the right to effectuate.
2006 April8
Functionalities of the WebCalendar (5)
• Modify my profile’s details:– All users– Allow the user to modify each one of his
details, (except his id number).
• Add User to the System:– Only for the System administrator.– Allow the system administrator to enter all the
details for the new user.
2006 April9
Functionalities of the WebCalendar (6)
• Add Group:– only for the System administrator.– Allow the system administrator to enter the
new group’s name and the ID of the new group’s administrator.
• Add User to group :– Only for the group administrator– Should enter the user to add to the group
2006 April10
Functionalities of the WebCalendar (7)
• Add Event with advanced options:– Add an event to multiple groups– Management of repeated events:
• Daily repeated• Weekly repeated• Monthly repeated• Yearly repeated
– Notify by mail 2 days before the event, and the day of the event
– Priority (from 1 to 3) according to the importance of the event ( )
2006 April11
Functionalities of the WebCalendar (8)
• Show group’s user/delete group’s users:– Only for the group administrator– Should show all the user’s groups (i.e. where
he is group admin) and give him the possibility to remove users from those groups (dynamical id list).
• Delete Users:– Only for the system administrator– Should enter the ID
2006 April12
Functionalities of the WebCalendar (9)
• When login to the WebCalendar, a Session is created. – Use of cookies
• When forgot the password, generates a new random one and send it to the user.
• Logout – End of session– Cookies destruction
2006 April13
DB DesignDB Design
2006 April14
The DataBase global view• We defined 8 different tables in order to realize
the DB:• 2 different table type:
– Data tables: • Event table• Users table• Groups table• Repeated_event table
– Link tables in order to light DB tables:• event2user table• users2group table• event2group table• comment2event table
2006 April15
The DataBase Diagram
2006 April16
Database tables explanations (1)
• Event table: table that contains all the details about an event
• Users table: table that contains all the details about users in the system
• Groups table: table that contains all the details about groups
• Repeated_event table: table that contains all the details about repeated events
2006 April17
Database tables explanations (2)
• Event2users table: table that allows the correspondence between events and users.
• Users2group: table that allows the correspondence between users and groups they belong to.
• Event2group: table that allows the correspondence between events and groups (they belong to).
• Comment2event table: table that allows the correspondence between comments and events.
2006 April18
OOP DesignOOP Design
2006 April19
OOP Design
• C# asp .NET language is OOP• ASP.NET for web development: ability to build
pages composed of controls. • The framework allows usage of many languages
such as HTML, javascript• Easy way to use SQL with ASP .NET.• ASP (Active Server Pages) .NET encourages
the programmer to develop Web: appropriate for Web applications
2006 April20
Communication client-server
• Web Server IIS (Internet Information Server): intermediate server
2006 April21
OOP Design: Web Controls
• Web Controls: – code can assign its properties and respond to its
events. – Controls know how to render themselves: produce
segments of HTML and Javascript.
• Web User Controls:– Independent class, with its personal
methods/functions/fields– Used when the object we program doesn’t have to be
visible all the time, depending on the user’s demand.
2006 April22
Other Classes
• Two main WebForms:– Login WebForm: first webpage that the user
see when connecting to the WebCalendar– MainPage WebForm: the calendar page with
all week details and functionalities as previously described.
• Class “Functions” that contains all the “help functions” needed by the forms/web controls.
2006 April23
Graphic design
• Based on simplicity and clarity
• Ergonomic
• Friendly-user design
• Logos according to situation: – simple understanding for new users
2006 April24
ScenariosScenarios
2006 April25
Scenario 1
• Login admin• Add User: Yohann, Anna, Victor.• Add Group:
– Student (Yohann)– Supervisor (Victor)
• Logout and Login Yohann• Add Anna to Student• Add event
– Private– Group– Add comment to group Event
• Logout and Login Anna– Add comment to group Event– Add Event to group
2006 April26
Scenario 2
• Login Anna• Modify Profile• Add group event
– Notify by mail– Select group for event– 2 days in event
• Check mail (Yohann and Anna)• Search private and Group
2006 April27
Scenario 3
• Login Yohann• Add repeated Event
– My birthday (yearly)– Tennis on Monday (weekly)– Lunch (daily)
• Delete Anna from Student• Login Anna
– Check group event.• Login Yohann• Modify event• Delete some events• Forget Password
2006 April28
The End…
Thanks to Victor for his permanent help
Thanks all for the attention!!
Recommended