We're planning to write a Django application that can manage events for a group of users. The things that we need:

  • There is an easy way for the admins to create new events and upon creation users are notified (per email) and can confirm or decline attendance.
  • The user can integrate these events in their calendar client, e.g. thunderbird, iOS, etc.
  • Depending on people attending to the event, we can create some stats, overviews, graphs, etc.
  • Users can change their RSVP status and the admins are notified per email.
  • Events will have probably several linked data to them (maybe some maps, documents, etc.) and other fields for categories, etc.
  • Events might be recursive or one-time events.
  • There is an easy way to add exceptions for recursive events.
  • There is an overview for all events and RSVP status for the events is easily accessible. The count of attendees is listed for each event.
  • The events overview can be filtered by different criteria (date range, category, ...)

We want to use a Django project for managing stats, linked media, listings, etc. And the plan was to add fields for the scheduled date + recurrence. But all existing calendar alternatives for Django I've found so far, e.g. django scheduler, don't seem to integrate easily with any calendar-client that supports caldav/davical. So, because for the most part, the "calendar-related"-wishes from the list above could be achieved by a normal web-calendar, I'm now exploring a new approach:

  • Create a calendar with write permissions for the admin under a calendar server that supports caldav (we're thinking of nextcloud here but is not a must).
  • Create the event + people (emails) to be invited from Django and send them to the web calendar per python-caldav.
  • After the event has been created in the calendar, we need to link this event to our event in django.
  • There must be way to get RSVP status of attendees per caldav.
  • We need to update attendance-changes on Django... maybe a cron-job?

Has someone experience with this constellation and can give some feedback if it would work? Or is there maybe a better/easier way to achieve the same? Any feedback is appreciated :-)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.