What would be the minimal modules I need to have for a simple registration page?
You should be able to do this with the default installation of the core + Views, Views UI, and CTools.  (You may be able to strip it further down by doing a custom installation of the core with some of the default core modules not enabled - but why bother).

I assume you're going to handle multiple events, and here taxonomy (in core) is your friend.  Just enable the taxonomy module (if necessary) and create one taxonomy term for each event. Add a taxonmy field (or multiple to allow one user to sign up for more that one event) to the users' profiles.  Ask users to register the events they plan to attent in their profile when they register (or later).

Then use Views to generate lists of names and contact addresses for the various events.

You may want to add refinements, such as not letting users cancel after they've signed up, but the above is a rough sketch of how to meet your minimal requirement.