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
- Host: GitHub
- URL: https://github.com/jorricks/dutyboard
- Owner: Jorricks
- License: apache-2.0
- Created: 2022-11-12T14:38:29.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-31T10:59:04.000Z (over 1 year ago)
- Last Synced: 2024-11-11T04:12:17.285Z (about 1 year ago)
- Language: Python
- Size: 1.97 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
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](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
