Private membership portal with public search

I’m searching for some ideas on how to execute a project.

A client wants a secure portal for members only that allows payment of dues and management (read/write abilities) of profile (name, address, etc.). They would like to make some of those fields from membership portal available for non-members to search upon visiting the website.

Any suggestions on the best way to do this.