udacity / mws-restaurant-stage-3 Goto Github PK
View Code? Open in Web Editor NEWDevelopment server for students completing stage three of the restaurant reviews project for Mobile Web Specialist Nanodegree
Development server for students completing stage three of the restaurant reviews project for Mobile Web Specialist Nanodegree
Well, I would like to address the owner of this project that you have repeated Get all reviews for a restaurant endpoint twice. Rest of the docs is awesome.
I tried creating new reviews and was able to get them back when I requested them by id, or for a specific restaurant id, but the endpoint that is supposed to return all the reviews does not include ones that were created after the original 30 that came pre-populated in the repo.
When a review for a restaurant is posted at http://localhost:1337/reviews/
, it is stored at http://localhost:1337/reviews/?restaurant_id=<restaurant_id>
but not at http://localhost:1337/reviews/
.
http://localhost:1337/reviews/
this URL only displays the initial reviews.
Each restaurant object has a "is_favorite": false
field. But if the PUT
request http://localhost:1337/restaurants/<restaurant_id>/?is_favorite=true|false
is run, the value becomes "is_favorite": "false"
. It becomes a string property from a boolean. This is causing parsing inconsistency in the web app.
Sails server application comes with a default db containing 10 restaurants and 30 reviews (3 per restaurant).
If you add some more reviews, the get all reviews endpoint (http://localhost:1337/reviews/) returns only the first 30 reviews. If you use the get all reviews for a restaurant endpoint (http://localhost:1337/reviews/?restaurant_id=<restaurant_id>) then the server returns correctlly all the requested restaurant reviews.
Difference in default data:
Default datatype 1:
{
"id": 1,
"restaurant_id": 1,
"name": "Steve",
"createdAt": 1504095567183,
"updatedAt": 1504095567183,
"rating": 4,
"comments": "<removed for readability>"
}
Default datatype 2:
{
"id": 2,
"restaurant_id": 1,
"name": "Morgan",
"createdAt": 1504095567183,
"updatedAt": 1504095567183,
"rating": "4",
"comments": "<removed for readability>"
}
Difference: Rating is parsed as string OR number.
I've just graduated from the MWS nanodegree and would like to extend the project further. Is there any chance of getting a PUT endpoint for restaurants (and maybe a POST endpoint as well, for new restaurants) so that we can update those? I've looked at the sails config and API files and don't see anything remotely resembling route configurations. Thanks!
As you probably already know, Sails has released version 1 (currently 1.0.2 in npm) with some significant differences regarding the version on which this project was originally developed (0.12)
In case it's of your interest, I have adapted the project to work with Sails v1. You will find it in the "devel" branch of my fork:
https://github.com/frncesc/mws-restaurant-stage-3/tree/devel
The main changes introduced are:
api/models
assets/test
utils/generate-restaurants.js
and utils/generate-reviews.js
), useful for generating or restoring the restaurants API test data.For more information, see the README.md file.
Expected:
{
"id": 31,
"restaurant_id": 1,
"name": "Some Name",
"createdAt": 1504095567183,
"updatedAt": 1504095567183,
"rating": 4,
"comments": "<removed for readability>"
}
Actual:
{
"id": 2,
"restaurant_id": "1",
"name": "Morgan",
"rating": "5",
"comments": "asdasd",
"createdAt": "2018-04-13T19:24:52.518Z",
"updatedAt": "2018-04-13T19:24:52.518Z",
"id": 42
}
Difference:
Rating is parsed as string.
Date format differs within the same dataset.
Restaurant_id parsed as string.
Impact: Breaking
This causes the client application to require special transforms just to ensure that the data is parsed correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.