It successfully gets information about coffee from the MySQL database.
What planned functionality has not been met?
Display information about other entities, such as locations.
Describe the GitHub history and what it demonstrates about the project progress during the semester.
The project progress looks to have been fairly consistent.
Describe how peer and instructor feedback/recommendations were incorporated into the project?
A lot of stuff hasn't been built out yet, which is primarily what the previous feedback talks about.
Other comments/notes?
I think there's definitely an issue of focus; Building out the web pages/backend should take priority over extra stuff.
JSPs
Evaluate the JSPs for templating, business logic, data validation, overall look and feel.
Styling on JSPs appears to be non-existant.
Other comments/notes?
Java code quality
Evaluate the code quality for the following and identify specific areas for improvement (class, method or line number)
single-purpose methods
well-structured project
descriptive naming of packages, classes, methods, variables
classes appropriately-sized (no monster classes)
CPD (copy paste detection, meaning are the same lines of code repeated
are there candidates for super/subclass relationships, abstract classes, interfaces?
are any values hard-coded that should be in a properties file?
proper exception handling
proper error reporting to the user
code documentation
From whats been built out currently, a lot of the methods seem to follow good protocol, ie using single purpose methods to accomplish business logic.
Other comments/notes?
Logging
Evaluate the use of logging, for example:
appropriate use of logging statements in the code for error logging and debugging
logging levels used - info, debug, error
no occurrences of System.out.printlns or printStackTrace()
logging works on Digital Ocean deploy
Other comments/notes?
Logging happens consistently throughout the application to gather errors that occur.
Unit Tests
Evaluate the unit tests, for example:
tests are truly a unit test rather than a high level functional test
test data is appropriately cleaned up or handled
there is full coverage of methods that perform business logic or utility functions
redundant code is eliminated by using set up and tear down methods, i.e., @Before, @After
Test look fairly good, proper use of @Before. It might not be the best idea to rely on a Webservice for the Test.
Other comments/notes?
Security
Evaluate authentication/authorization:
Is it implemented correctly and working locally as well as on Digital Ocean?
Basic user/admin system has been deployed to AWS
Other comments/notes?
Web Service/API integration
Evaluate the service/api integration, for example:
Which service/api is implemented?
how is error handling of the service implemented? For example, What happens if the service is not available?
The service used is a self-made one, which is interesting. It does require more application upkeep, however, which might be hard to manage when everything is built out.
Other comments/notes?
Independent research topic
What is the independent research topic?
Bluetooth integration.
Is the independent research topic/technique implemented in the project?
The backend appears to be there. Still needs to be implemented into the project in a useful and functional way.
Other comments/notes?
Deployment
Has the application been successfully deployed to AWS or another hosting service?
Yes
Is the hosted application fully functioning?
The application has been deployed, it has not, however, been brought up to the most recent version.
Design/Code Review 3
Project: Carson
Developer: Neil Fortney
Reviewer: Lucas Tolly