Entrepreneur & web developer with 10 years experience. Expert in Drupal, WordPress and membership sites. Experienced with outsourcing to Argentina, Central America and India. I also advise on whether your business idea is good in the bluntest terms possible.
I'll be blunt: it's a bad idea. Someone should've told you before but likely was being polite.
As useful as it appears, we can't and don't need an app for everything. Do restaurants really want this? Do people really need this? Trying and learning is a normal part of life and this app is just not something people need. Spending $10 to find out a dish is crap is not the end of the world - it's the experience that counts. Is someone going to spend more time looking at their phone or doing it the old fashioned way by asking their waiter what they like?
Plus, customer interviews are bullshit until you actually ask someone to spend their money. There's huge difference between 'would you buy this' and 'will you buy this right now.' Anyone will tell you an idea's good until they have to put their money where their mouth is.
Rather than an LMS (learning management system), which may have more features or be more complex than you need, you can also consider a membership plugin. This will serve to lock the content from non-members and allow you to setup different levels of access. The plugin will also allow you to drip content instead of providing access to everything at once (for example, they access X on Day 1, Y on Day 3, Z on Day 5, etc).
But if you want to quiz and test your clients, then you should definitely go for an LMS instead.
Ruby on Rails has some limited options for membership sites so it's likely you'll need custom development to get the solution you want. It's more likely that you'll find a WordPress plugin that covers your needs - including something like Paid Memberships Pro that is free but is super developer friendly.
Caveat: I advise on & build WordPress membership sites so I admit that I may be a little biased :)
Definitely add your site to Google Webmaster Tools because it will show the exact terms your site is ranking for and the click through rate (the % of people who see you in search results and click through to your site).
You need to do keyword research and target every page and post to a specific keyword. When you write blog posts, use tags liberally and include keywords that people would use to search for that cannot be use in writing (like 'how grow tree' instead of 'how to grow a tree'). Link keywords in your site text to other pages on your site (especially on the home page). And blog consistently for at least 6-12 months, after which you can reduce your blogging schedule without negatively affecting your organic traffic (but don't stop blogging!).
There's no fixed answer for this. I see some folks note that you need a big following - that's *absolutely* untrue for a niche market. Yes, very very small markets may not be worth the effort but you do not need a huge following to be successful. You can target your prospects very easily via Facebook.
Do your research - what's the demand for the keywords you are targeting? Why would people want to pay for your site? What value are you providing that isn't available elsewhere? Keep in mind that just a community likely won't be enticiing - you need content that isn't available anywhere else. Few people are interested in committing to forums these days.
They may need a reason to stay - and to get to know you/your site better before deciding to make a purchase. I just perused the site and it looks like a store. Unless someone wants to buy why would they stay? Plus, they may be looking for something free rather than paid (like guitar tabs). I'd suggest getting people to sign up for a mailing list, with segments targetd to different genres and offering a free arrangement as a lead magnet.
WordPress, hands down. Development will be quicker and cheaper than rolling your own. There are plenty of tutorials to show you how to do things so you would not be 100% reliant on your dev(s).
I be wary of Cloudflare as it does not always help - you should test and see if it's a benefit based on your host and what plugins you are using.
Host-wise, most of the 'managed WordPress' services are garbage. It would be better to find a reliable and reputable host - though this can be difficult with 99% of hosting reviews being nothing more than a collection of affiliate links arranged by the size of their commissions. WPEngine is the real deal but their costs are based on page views and their $30 plan can easily be $200 for a high traffic site. MediaTemple & GoDaddy's WordPress offerings are garbage.
If you need a more customized size, Drupal can be a good option. It offers much easier customizability out of the box than WordPress. But from the sounds of your needs, WordPress is the way to go.
I've had experience with India and Argentina. I've found that at cheaper costs, Indian labor tends to have a language gap as well as a severe lack of critical and creative thinking. At higher costs, it's better to look elsewhere - which is what led me to Argentina. Costs are, of course, higher than India but being able to communicate during normal business hours is phenomenal. I have also found it MUCH easier to find extremely skilled workers, often with a very good grasp of English combined with technical knowledge, critical thinking skills and creative thinking skills.
I wholeheartedly believe in the Argentines and recommend looking there for talent.
I agree with Dan. The hard part right now will be estimating the time, so I suggest padding your estimate by 20-25% to account for that. If/when you come in under budget, your client will be pleased.
Be sure to use a contract so both sides are in agreement on what the project entails. And if a client balks at signing anything, avoid them. I suggest using Contract Killer 3 as a template for the contract. It helps make clear, in plain English, what the project expectations are, what happens if someone changes their mind and covers legal obligations.
Lastly, don't work for free or less for 'exposure' unless it's a non-profit you care about. Your time has value and most 'exposure' will not return a commensurate value unless it happens to be an incredibly high profile website (in which case they'll be able to afford you).