What is the requirement of the calendar?
A month view calendar will be shown on the left side of the screen and should be clickable to select the day of interest. The calendar should handle cross month correctly. The calendar should be able to go forward and backward as far as the calendar go.
3 kind of views, Day View, Week View and Month View (4days View Optional). The month view should be able to handle across month correctly. View should change based on the selection of the calendar.
Day View and week View will show the scheduled event(time and duration, 24 or 12 hour format). It should also handle events that across one day correctly (may be split it to two events).
Month View also shows the scheduled event, but will not show the time line in hours.
You will be able to schedule events start time, duration, what if the events across one day, we can split it into two events in the background. Also the create function should be able to check the conflict of events. Maybe we can support click on the view to create events. The user should also be able to schedule reocurring event (probabaly should be implemented using links so that we do not need to store same events multiple times).
Agenda View, specify a time frame, print all the events that has been scheduled during that time frame.
MVC design pattern? how is it implemented in java?