Timothy Kwong, Alan Tran
a) The project uses Yelp API in order to find information about restaurants based on user preference.
b) The project is capable of giving the user the location, hours of operation, and phone number of restaurants based on cuisine. The user can also add their own restaurant entries via fill-in form or in mass by uploading a CSV file.
c) The software can run and takes the user to a menu where they can click buttons to either find a place to eat or add new entries in different ways.
d) We can:
- Give the option to filter restaurants based on price range
- Provide a rating of the restaurants that are searched from in a 5-point scale
- Phone compatibility
- More cuisine objects
- Adding user-uploaded menu items
e) The README.md basically explains what the app does in terms of searching for restaurants. The README.md could also explain its features with adding new restaurants into the database.
f) The build.xml goes though the usual process of compiling and making target directories in typical destinations. There are 2 lines of JWS code involving properties of the software.
g) Yes, 1000 points is capable. A lot of the issues are involve adding new features and cleaning up the interface as to fixing bugs. Offered issues are pretty clear and and to the point.
h) We could not find any issues with usage, but there are no JUnit tests that allows us to systematically test the program. Separate issues: #24 #25
i) The YelpAPI.java code involves using methods which utilize the YelpAPI. The methods ask for parameters, mostly strings, and uses the API in order to relay back information based on the string that was given or to save it internally in the app. The functions are also defined by the YelpAPI, with internal methods being based around it. A lot of the methods implement request and responses that depend on parameters and properties of the Yelp API. The code is also very organized such that each .java file clearly identifies its purpose and utilization within the entire software, making it easy to understand. Giving the code to someone else, we could probably tell them to look at the method names and the parameters in order to get a gist of what information the method wants and will give back.
j) There are no JUnit tests, so we could just write our own tests and consider if certain situations are possible on the program.