An open API service indexing awesome lists of open source software.

https://github.com/jorricks/dutyboard

Overview of Duty calendars using iCalendar
https://github.com/jorricks/dutyboard

Last synced: 6 months ago
JSON representation

Overview of Duty calendars using iCalendar

Awesome Lists containing this project

README

          


DutyBoard



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


[//]: # ()

[//]: # ( Package version)

[//]: # ()

[//]: # ()

[//]: # ( Supported Python versions)

[//]: # ()

---

**Source Code**: [https://github.com/Jorricks/DutyBoard](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](https://jorricks.github.io/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:
- [FastAPI](https://fastapi.tiangolo.com/) as web service.
- [iCal-library](https://jorricks.github.io/iCal-library/) for it's integration with iCalendars.

## 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