# M2 README Example (BCN/Uros)
# Project Name
<br>
## Description
Search platform for restaurants in Barcelona and creating the favorite list of restaurants.
<br>
## User Stories
- **404** - As a user I want to see a nice 404 page when I go to a page that doesn’t exist so that I know it was my fault
- **500** - As a user I want to see a nice error page when the super team screws it up so that I know that is not my fault
- **homepage** - As a user I want to be able to access the homepage and filter by type of restaurant, log in and sign up.
- **sign up** - As a user I want to sign up on the web page so that I can add favorite restaurants to my list.
- **login** - As a user I want to be able to log in on the web page so that I can get back to my account
- **logout** - As a user I want to be able to log out from the web page so that I can make sure no one will access my account
- **favorite list** - As a user I want to see the list of my favorite and delete them.
- **edit user** - As a user I want to be able to edit my profile.
- **result** - As a user I want to see the list of restaurant filter by my preferences.
- **restaurant listing** - As a user I want to see more details of the restaurant, be able to call them and visit their website and save it as favorites.
<br>
## Server Routes (Back-end):
| **Method** | **Route** | **Description** | Request - Body |
| ---------- | ---------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------- |
| `GET` | `/` | Main page route. Renders home `index` view. | |
| `GET` | `/login` | Renders `login` form view. | |
| `POST` | `/login` | Sends Login form data to the server. | { email, password } |
| `GET` | `/signup` | Renders `signup` form view. | |
| `POST` | `/signup` | Sends Sign Up info to the server and creates user in the DB. | { email, password } |
| `GET` | `/private/edit-profile` | Private route. Renders `edit-profile` form view. | |
| `PUT` | `/private/edit-profile` | Private route. Sends edit-profile info to server and updates user in DB. | { email, password, [firstName], [lastName], [imageUrl] } |
| `GET` | `/private/favorites` | Private route. Render the `favorites` view. | |
| `POST` | `/private/favorites/` | Private route. Adds a new favorite for the current user. | { name, cuisine, city, } |
| `DELETE` | `/private/favorites/:restaurantId` | Private route. Deletes the existing favorite from the current user. | |
| `GET` | `/restaurants` | Renders `restaurant-list` view. | |
| `GET` | `/restaurants/details/:id` | Renders `restaurant-details` view for the particular restaurant. | |
## Models
User model
```javascript
{
name: String,
email: String,
password: String,
favorites: [FavoriteId],
}
```
Favorites model
```javascript
{
placeId: String,
}
```
<br>
## Backlog
[See the Trello board.](https://trello.com/b/Ni3giVKf/ironhackproject)
<br>
## Links
### Git
The url to your repository and to your deployed project
[Repository Link]()
[Deploy Link]()
<br>
### Slides
The url to your presentation slides
[Slides Link](https://docs.google.com/presentation/d/1P5FIi0vHZBUcgUtmt1M4_lLCO5dwdJ4UOgtJa4ehGfk/edit?usp=sharing)
### Contributors
FirstName LastName - [`<github-username>`](https://github.com/person1-username) - [`<linkedin-profile-link>`](https://www.linkedin.com/in/person1-username)
FirstName LastName - [`<github-username>`](https://github.com/person2-username) - [`<linkedin-profile-link>`](https://www.linkedin.com/in/person2-username)