2006 april1 webcalendar project final presentation yohann sabbah & anna silberman under the...

28
2006 April 1 WebCalendar WebCalendar Project Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April1

WebCalendar ProjectWebCalendar Project

Final Presentation

Yohann Sabbah & Anna Silberman

Under the supervision of Victor Kulikov

Page 2: 2006 April1 WebCalendar 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.

Page 3: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April3

FunctionalitiesFunctionalities

Page 4: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 5: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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)

Page 6: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 7: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 8: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 9: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 10: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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 ( )

Page 11: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 12: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 13: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April13

DB DesignDB Design

Page 14: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 15: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April15

The DataBase Diagram

Page 16: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 17: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 18: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April18

OOP DesignOOP Design

Page 19: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 20: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April20

Communication client-server

• Web Server IIS (Internet Information Server): intermediate server

Page 21: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 22: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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.

Page 23: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April23

Graphic design

• Based on simplicity and clarity

• Ergonomic

• Friendly-user design

• Logos according to situation: – simple understanding for new users

Page 24: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April24

ScenariosScenarios

Page 25: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 26: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 27: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

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

Page 28: 2006 April1 WebCalendar Project Final Presentation Yohann Sabbah & Anna Silberman Under the supervision of Victor Kulikov

2006 April28

The End…

Thanks to Victor for his permanent help

Thanks all for the attention!!