Question: Let's suppose I was going to design a platform like [Airbnb](https://en.wikipedia.org/wiki/Airbnb). They have a website as well as native apps on various mobile platforms.

I've been researching app design, and from what I've gathered, the most effective way to do this is to build an API for the back-end, like a REST API using something like node.js, and SQL or mongoDB. The font-end would then be developed natively on each platform which makes calls to the API endpoints to display and update data. This design sounds like it works great for mobile development, but what would be the best way to construct a website that uses the same API?

There are three approaches I can think of:

1. Use something completely client-side like AangularJS to create a single-page application front end which ties directly into the REST API back-end. This seems OK, but I don't really like the idea of a single-page application and would prefer a more traditional approach
2. Create a normal web application (in PHP, python, node.js, etc), but rather than tying the data to a typical back end like mySQL, it would basically act as an interface to the REST API. For example when you visit `www.example.com/video/3` the server would then call the corresponding REST endpoint (ie `api.example.com/video/3/show`) and render the HTML for the user. This seems like kind of a messy approach, especially since most web frameworks are designed to work with a SQL backend.
3. Tie the web interface in directly in with the REST api. For example, The endpoint `example.com/video/3/show` can return both html or json depending on the HTTP headers. The advantage is that you can share most of your code, however the code would become more complex and you can't decouple your web interface from the API.

What is the best approach for this situation? Do you choose to completely decouple the web application from the REST API? If so, how do you elegantly interface between the two? Or do you choose to merge the REST API and web interface into one code base?

Answer: 
This is probably due to the `Exclude VCS Ignored Paths` setting in Atom's Core settings. Please try the search again after unselecting the respective checkbox in the settings:

[![Atom Settings](https://i.stack.imgur.com/Yf8SN.png)](https://i.stack.imgur.com/Yf8SN.png)

You can find this setting on the first page of the Atom Settings, a bit down under *Core Settings*.

The setting's description describes what is excluded from functionality like the fuzzy finder and the search and replace function. You're probably running into that at the moment...
**For MacOS:**

`Atom` > `Preferences` > `Settings` > uncheck `Exclude VCS Ignored Paths` and now I have a full search and now, you can search through all the files.