We want to build a team calendar to meet the following objectives .
- It should allow a user to create a calendar and share it with multiple users.
- As a user I can add a calendar and control access of different users.
- A user will have different access rights (readonly / write / full-access)
- A user can add / delete /update events in the calendar(s) available.
- When an event is added the calendar should validate if there are overlapping events and should alter the user.
- Each of the calendar is available at a unique URL
- Each calendar can be de-activated by an admin user. The deactivated calendar will not be accessible to the users.
- The application has a browser based UI to which can show the calendar.