Need registration suggestion

Hi,

One of the sites I work on is looking to offer their users login services to be able to register for events and to buy supplies, etc.

What plugins would I need to allow a user to set up their own login account and then use their account to register for events and buy their supplies or other items from the site store?

Kindest,
Sven