Building a calendar of events - not trivial

I wanted to build a calendar of events, record when they happen and
where and cost and some details, and publish for people to see. I also
wanted to allow a small group to login and confirm their attendance,
and later on report on a short 5 lines on the event.

I thought it was trivial as I can make a table of events, a table of
people, and I can make a HBTM relationship, or even Has many through.
What is the issue now is that the event are only a few (20) that
repeat each month, at regular interval (like first thursday of the
month) with occasionally a shift date if there is a holiday.

suddenly, I don’t have a list of event, but conditions for an event to
happen on a given day, and I don’t know how to make a system for
people to confirm their participation, or even display the list.
The date is now part of the logic.

I thought maybe I should first use a system to create the next 20 days
of events by populating a list with the logic, and then get the people
to confirm their participation, not sure I am on the right track

anyone did this before? There is probably a simple answer but I can
see it…

thanks
oz