This project is meant to serve as an example implementation of a plugin architecture.
You are designing a ticketing system for your company. As of right now, the only departments that handle tickets are the Information Technology department and the Software Development department. However, your supervisor has informed you that other departments will eventually need to be able to handle tickets through your system.
You must design a ticketing system that accommodates future departments in a way that does not require code to be modified.
Leverage Spring Boot's inversion of control in order to design a system that achieves code reusability in a way that complies with the Open - Closed principle.