Functional specifications
First steps in the webapp. The User should be able to log in and manage his/her subscriptions to the calendars.
On the frontend there should be:
- A page to log in, based on Basic Authentication
- A page with a List of calendars (each with a link to edit/remove them) and a button to add new calendars.
- A Page to add/edit the calendar information.
The layers below this must support the needed operations to list, store and remove the calendars in the database. Further more the layers below should be able to use iCalendar files (*.ics) located on http.
Perhaps we should make use of a baseclass for all persisted domain objects with the id. In the
Spring manual is a chapter on how to make use of this to implement a base class for all hibernate dao implementations.
Technical interpretation
- Setup of the application
-
maven
-
Wicket-Spring setup
-
Database/Hibernate configuration
-
Authentication realm
- Domain objects + hibernate mapping
-
User
- userId
- firstName
- lastNamePrefix;
- lastName;
- birthDate
-
Calendar
- Name
- Type
- URL
- Username
- Password
- Dao's
-
!CalendarDao
-
!UserDao
-
!CalendarDaoHibernateImpl
-
!UserDaoHibernateImpl
- Managers
-
!CalendarManager
-
!UserManager
- Wicket
-
!LoginPage
- Form component to log in with a feedback panel
-
!BasePage
- The only page, everything else is placed on top of this
-
Panel with some user information
-
Link to the SettingsPanelsPanel
-
!SettingsPanelsPanel
- Tabbed panel with as for now one tab; A CalendarSettingsPanel containing the CalendarListPanel
-
!CalendarSettingsPanel
-
!CalendarListPanel
- List of Calendars with navigation and a edit and a remove link for each calendar
- A link to create a Calendar configuration
-
!CalendarAddEditPanel
-
!FrontendCalendarListPanel
- Cramped listview of the calendars
Budget/Hours
| task |
hours |
todo |
Maven |
6 |
0 |
Wicket-Spring configuratie |
4 |
0 |
Database/Hibernate |
2 |
0 |
Authentication realm |
3 |
0 |
!User + mapping |
3 |
0 |
Calendar + mapping |
2 |
0 |
Dao interfaces |
2 |
0 |
!CalendarDaoHibernateImp |
6 |
0 |
!UserDaoHibernateImpl |
6 |
0 |
!CalendarManager |
2 |
0 |
!UserManager |
2 |
0 |
!WicketTester |
8 |
0 |
!LoginPage |
4 |
0 |
!BasePage |
3 |
0 |
!SettingsPanelsPanel |
5 |
0 |
!CalendarListPanel |
12 |
0 |
!CalendarAddEditPanel |
10 |
0 |
!FrontendCalendarListPanel |
4 |
0 |
| Total |
84 |
0 |
Discussion
Resources for the hibernate configuration:
Resources for the form based authentication:
--
IvoVanDongen - 17 Sep 2006