I use Hostgator, have for the last 6 years and I am very happy with them.
To get your domain you can also use them so you can have both your domain and hosting with the same provider .... Check them out and see what you like...Once you do that I can help you with setting up your website with the features you want ....