The PIE Calendar plugin uses posts and turns them into a calendar. It can work with Custom Post Types as well. An example of the calendar can be seen in this website where a calendar is set up. By following these directions, you can also set it up to submit events from the front end with a Gravity form as can be seen here. For a headstart, use the .json file and import it into the site using Gravity Forms. It can be found here in the Gravity Forms Template Folder.
Here is a link to the PieCal custom fields needed in the Post submission feed.
Can use this code snippet to change the colors of events on the calendar based on the taxonomy.
