This is the beginning of an event calendar component that is iCalendar and jCal compatible. I am currently working on a Node JS server implementation combined with a UI for web browsers.
On the front end it features a calendar view, a simple input form and a custom input form. Both input forms support repeating events. The simple form allows the user to specify basic data like a start date, an end date and a simple repeat frequency such as "daily". The custom form provides a broader range of support for icalendar properties.
The back end is a Node JS module that saves data to couchdb. I plan on supporting additional databases such as postgresql in the future.
This project is in its infancy so I don't suggest using it for anything yet.