# Routes

## Routes

*Routing* refers to determining how an application responds to a client request to a particular endpoint, which is a URI (or path) and a specific HTTP request method (GET, POST, and so on).

Each route can have one or more handler functions, which are executed when the route is matched.

Route definition takes the following structure:

`app.METHOD(PATH, HANDLER)`

Where:

* `app` is an instance of `express`.
* `METHOD` is an [HTTP request method](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods), in lowercase.
* `PATH` is a path on the server.
* `HANDLER` is the function executed when the route is matched.

Our server has only five routes

* `/graphql` for graphql related routes
* `/paypal` for paypal payment related routes
* `/stripe` for stripe related routes
* `/` for send a static page [lyonEat](https://lyoneat.com/)
* `/dashboard` for sending the build of dashboard

### Note

Majority of our functionality is handled through GraphQL only for some cases REST is used. You can find more about it by checking [Resolver](https://lyoneat.gitbook.io/lyon-eat/api-server/resolvers).
