I’m sketching something similar and I’m using the Events plugin from pavilion, together with Assign and Solved.
You can re-purpose Unsolved/Solved to Open/Completed or whatever you find better suited and then use solved topics auto close hours
in it’s settings to automatically close topics that have been marked as solved. Then the Events plugin can be set to remove closed topics from the calendar:
This can already give you a decent overview. The plugin also offers to have category based calendars and agendas, as well as a global one. The global one reflects your category colors: