This is a standalone CalDAV web client. It is based on fullcalendar and ical.js and inspired by CalDavZAP.
Run npm install
and then copy everything (including the node_modules
folder) to a server. You also need to set rootUrl
in config.js to the URL of
the principal who's calendars should be displayed. It must be on the same
origin.
Note that this is only a client. You will also need a CalDAV server, e.g. baikal or radicale.
We have to work with two different structures: The one defined by CalDAV and the other one defined by fullcalendar.
In CalDAV there are calendars and events. In fullcalendar there are event sources and events.
Each CalDAV calendar maps to a fullcalendar event source. source.id
is the
URL of the CalDAV calendar.
Each CalDAV event maps to one or (for recurring events) more fullcalendar
events. event.groupId
is the URL of the CalDAV event.
event.extendedProps.comp
is the parsed ICS. event.extendedProps.offset
is
the offset in seconds from the first instance to this one.