BryceAllard / ClimbLog

Application for tracking climbing routes
0 stars 0 forks source link

Peer Review 2 #9

Closed jbjohnson2 closed 2 weeks ago

jbjohnson2 commented 3 weeks ago

Design/Code Review 2

Project: ClimbLog

Developer: Bryce Allard

Reviewer: Jennifer Cecil

Areas for Improvement Criteria Items Met or Exceeded
Readme needs to be updated with the web service you are consuming and the version of hibernate you are using Project effectively utililizes the technologies and techniques specified in the project objectives It looks like you are using the technologies listed.
I know you mentioned adding the capability for a user to add a climb. You may also want to rework your problem statement to fit better with the direction your project has taken Planned MVP Functionality You've done a good job creating user sign in capability. You have also created the ability for a user to view a climb and search for climbs by area and difficulty
Your index file uses an include instead of the c:import for the head and nav. It looks like you are using the c:import in the rest of your project Logging framework used, i.e., no System.out.println() or printStacktrace() statements. No printStackTrace or system.out.printlns
Hibernate used for all data access. X
Authentication implemented and adds value to the application. X
I know you are currently working on this Consumes at least one web service or public api using Java.
Adding the ability to add a climb would improve this Application is database-driven using full CRUD. X
Database includes multiple one to many relationships. X
Deployed to AWS for public access. X
Implements best practices (for example, data validation) X
Synthesis of multiple concepts in unfamiliar situations requiring research beyond the scope of the class X
Experiments individually, exhibits independence and drive, shows originality in the solution. X
Implemented technologies or techniques not covered in course materials. X
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 X
Well-structured project X
Descriptive naming of packages, classes, methods, variables X
Classes appropriately-sized (no monster classes) X
CPD (copy paste detection, meaning are the same lines of code repeated? X
Are there candidates for super/subclass relationships, abstract classes, interfaces X
The pom file has some hard-coded values(versions) that could be properties are any values hard-coded that should be in a properties file?
Proper exception handling X
You could add custom error pages. Proper error reporting to the user - custom error pages?
MatchDao.java and the test classes could use some javadoc comments Code documentation Entity classes and generic dao look good
Is there code in the servlet doGet/doPost that should be refactored into testable classes or methods? X
Maybe add the navbar/header to the to of the results jsp Evaluate the JSPs for templating, data validation, overall look and feel. index page looks nice
JSPs use JSTL and EL, no java code X
Unit tests are truly a unit test rather than a high level functional test X
Test data is appropriately cleaned up or handled X
There is full coverage of methods that perform business logic or utility functions X
Redundant code is eliminated by using set up and tear down methods, i.e., @Before, @After X
Other comments/notes?
You could update your project plan with the tasks that you have remaining to keep organized on what your goals are to finish the project. Demonstrates initiative and thoughtful planning to leverage available resources (time, equipment, external expertise) to meet milestones and project objectives. X
Evidence of significant revision and incorporation of feedback. X
Using branching would help preserve the parts of your project that work while you work on new features What does github history and insights demonstrate about the work on this project? You have many commits with many good commit messages. You seem to have implemented features and technologies as we went over them in class throughout the semester which is great.
Project complexity difficult
Consider the user display exercise to be a simple project; how does this project compare? difficult
What aspects of the project add complexity? consuming a complex web service, using AWS cognito
TimeLog and Screen Design links on the readMe page doesn't seem to be working Additional Comments I like the concept of your project and it looks good so far!
BryceAllard commented 2 weeks ago

Feedback implemented, thank you!

pawaitemadisoncollege commented 2 weeks ago

Hi @jbjohnson2 - thanks for your review of @BryceAllard 's project. Based on some of your comments like noticed this include directives versus imports and finding some broken links shows you took your time reviewing and "feedbacking". I was wondering if you used any code quality tool/plugin as part of your review? If so, it can be really helpful to provide a copy of the generated quality report and highlight meaningful areas for improvement.

I did notice a couple sneaky printlns: https://github.com/BryceAllard/ClimbLog/blob/91500d0ff05b9b2e6cfe7650f6e10d9c7d7f45cd/src/test/java/util/Database.java#L47-L51