jbrischke / RatingsAnonymous

0 stars 0 forks source link

Peer Review: Boulder Beeman's feeback #11

Open beemanbp03 opened 2 years ago

beemanbp03 commented 2 years ago

@jbrischke

Design/Code Review 2

Project: Ratings Anonymous

Developer: Josh Brischke

Reviewer: Boulder Beeman

Areas for Improvement Criteria Items Met or Exceeded
Project effectively utililizes the technologies and technques specified in the project objectives Yes
Planned MVP Functionality Yes
Logging framework used, i.e., no System.out.println() or printStacktrace() statements. Yes
Hibernate used for all data access. Yes
Authentication implemented. Yes
From our talk I know that you are still planning on implementing this Consumes at least one web service or public api using Java. No
Application is database-driven using full CRUD. Yes
Database includes multiple one to many relationships. Yes
I don't know if you have this up and running on AWS, but from our talk, we all seem to be agreeing that this is the last thing to worry about. I would suggest saving this portion of the project until the very end. If you miss this checkpoint, there aren't many points that will be deducted because of it. Deployed to AWS for public access.
Implements best practices (for example, data validation)
Where your project is at right now, I don't see anything that is unfamiliar to what we have learned in class Synthesis of multiple concepts in unfamiliar situations requiring research beyond the scope of the class No
Experiments individually, exhibits independence and drive, shows originality in the solution. Yes
You are doing some interesting stuff in your GenericDao class that I haven't seen covered in this semester or previous semesters.
You are creating a Class instance variable and using it throughout the class methods. Implemented technologies or techniques not covered in course materials. Yes
Code quality - Evaluate code quality for the following and identify specific areas for improvement (class, method or line number). Be sure to list which code quality plugins/tools you used to assist with this analysis
Single-purpose methods Yes
Well-structured project Yes
Easy to find things Descriptive naming of packages, classes, methods, variables Yes
I didn't come across any class that seemed too big Classes appropriately-sized (no monster classes) Yes
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? No
Proper exception handling Yes
This could use some attention. In the Auth class, you could complete the TODO that suggests routing to an error page if something goes wrong. Proper error reporting to the user - custom erro pages? No
Code is well documented Code documentation Yes
You have a loadProperties() method at the bottom of your Auth class. You could just make a startup servlet and load all properties in an init() method Is there code in the servlet doGet/doPost that should be refactored into testable classes or methods? Yes
Your JSP's especially the admin jsp could use comments to help guide people on what table they are looking at. Your head.jsp could use more comments explaining what technologies you are linking to. your popupFunctions.js could use comments to explain what each one does. Evaluate the JSPs for templating, data validation, overall look and feel. Yes
JSPs use JSTL and EL, no java code Yes
Unit tests are truly a unit test rather than a high level functional test yes
Test data is appropriately cleaned up or handled Yes
Your GameTest could use full CRUD testing. Right now it only gets all games. It looks like there's no delete test inside your UserTest class. There is full coverage of methods that perform business logic or utility functions No
Redundant code is eliminated by using set up and tear down methods, i.e., @Before, @After Yes
Other comments/notes?
Demonstrates initiative and thoughtful planning to leverage available resources (time, equipment, external expertise) to meet milestones and project objectives.
As we talked about last Wednesday, your project still has some ways to go when it comes to the API implementation and the front-end UI/UX, but I'm confident you can complete these objectives in the next two weeks. Great work so far and keep moving forward. Evidence of significant revision and incorporation of feedback.
Project complexity
Additional Comments

​ ​ ​