> For the complete documentation index, see [llms.txt](https://geekyants-5.gitbook.io/flatandflatmates/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://geekyants-5.gitbook.io/flatandflatmates/api-server/routes.md).

# 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 following routes:

* `/auth` for user authentication related routes
* `/user` for user related routes
* `/apartment` for apartments related routes
* `/messages` for users chat related routes
