Adding an event list

I am fairly new to NEOS. I was able to set 3.1 up, create some site and follow some tutorial. The one thing I can’t wrap my head around is how to add custom data structures (sort of simple relational constructs).

In my case I would like to add an event calander, which is a simple relational model. It consits of events (Title, start date, publish-date) and event_types (html-description of the event). So several events might be of the same event-type.

I would like users to manage events and event_types from the backend. The frontend should display a list of events that are older than publish-date and younger than end-date. Plus they should link to a dedicated page per event.

How should I conceptually approach this? Is there a plugin or tutorial from which I could learn? I guess I am missing the right NEOS-terms/words for such dynamic content.