Skip to content

Jorricks/DutyBoard

Repository files navigation

DutyBoard

Provide a simple, yet extensive overview of your Duty calendars using RFC 5545 compliant iCalendars.
Verified with PagerDuty, Google & Microsoft outlook Calendars.


Source Code: https://github.com/Jorricks/DutyBoard

Features

  • 🚀 Extendable Plugin structure allowing you to tune calendars & enrich duty officers information with for example LDAP.
  • 📈 Full RFC 5545 compliant iCalendar support, including recurring events, by using iCal-library.
  • Dynamic web-interface with the ability to tune using the plugin structure. Examples would be:
    1. Different color schemes.
    2. Your own company logo.
    3. Icons for extra user information.
    4. And much much more.
  • 💪 React front-end is pre-compiled and served through FastAPI.
  • 🆎 Fully typed code base.

Requirements

Python 3.8+

DutyBoard runs using:

Plugin structure

DutyBoard comes with a flexible plugin structure. You create a Python file like plugin/example/example_plugin.py in your container. Then simply set DUTY_BOARD_PLUGIN_LOCATION to that file, and DutyBoard will automatically load everything according to your specification.

The example plugin comes with:

  • iCalendar support to figure out who is on Duty.
  • LDAP integration to enrich the information of who is on Duty.
  • Customization options to modify the front-end according to your companies style.

Why this project?

Larger corporations often have many Duty schedules. This is often to shield team members from ad-hoc work during their work-week or to ensure the platform runs smoothly 24/7. However, exposing Duty schedules is easy at the start, but once you have three schedules, it becomes unclear who is on duty. Hence, a small front-end usually solves this, but that require manual intervention when the schedule changes. This projects aims to solve that by automatically fetching who is on duty from iCalendars