ian-deloach / BiteSize

0 stars 0 forks source link

Peer Review #3

Closed Carlos-Leon98 closed 22 hours ago

Carlos-Leon98 commented 2 weeks ago

Good evening @ian-deloach and @pawaitemadisoncollege,

Here I left my feedback for peer review.

Design/Code Review 2

Project:

Developer:

Reviewer:

Areas for Improvement Criteria Items Met or Exceeded
Project effectively utililizes the technologies and technques specified in the project objectives
Idea of the main functionality in the Problem statement is clear and easy to understand. But it feels like we are missing points in or more detail in jornal.md and ProjectPlan.md. Planned MVP Functionality M
Logger is declare and initialized in the GenericDao.java but never used. Loggers are used in Database.java but since we already have GenericDao.java there is no sense to have it. Logging framework used, i.e., no System.out.println() or printStacktrace() statements. P
From all entities, schedule.java is the only one that is still missing hibernate annotations, other than that, all other entities look to have all corresponding Hibernate annotation. Hibernate used for all data access. P
Per how the repository is today 04/28/2024 there is nothing in the code that demostrate this competency Authentication implemented and adds value to the application.
There is no a controller directory that contain java classes that consume any web services or API Consumes at least one web service or public api using Java.
Criteria meet with the GenericDao.java Application is database-driven using full CRUD. M
There are several Hibernate one-to-many annotations that let know that the database includes multiple one-to-many relationships. Database includes multiple one to many relationships. M
There is no elastic beanstalk in the student to confirm this application was deployed to AWS for public access Deployed to AWS for public access.
As today 04/28/2024 there is no java class (controller) that manipulate data as for implement for example any data validation. Implements best practices (for example, data validation)
As far as I can see all content in the current repository looks like is within the class content scope. Synthesis of multiple concepts in unfamiliar situations requiring research beyond the scope of the class
Current repository only show the basic structure, entities and a GenericDao to manipulate data, I would recommend to add the controller directory to be able to see how you have work on your problems and how you have solved them. Experiments individually, exhibits independence and drive, shows originality in the solution.
Everything in the current repository is within the scope of what the course has covered. Please if you can provided the current status of the repository I can provide better feedback about this point. Implemented technologies or techniques not covered in course materials.
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
GenericDao is the only class that contains methods that are no getter or setter and as far as I could see this point is meet Single-purpose methods M
Entities and the method to manipulate data seem to be ok, I would recommend to work in the controllers if you haven't started yet. Well-structured project
All classes and methods has javadoc commenting the main functionality of each execpt for the test classes Descriptive naming of packages, classes, methods, variables P
I can provided better feedback if I had the controllers to review them other than that all classes look ok. Classes appropriately-sized (no monster classes) P
CPD (copy paste detection, meaning are the same lines of code repeated? N
Are there candidates for super/subclass relationships, abstract classes, interfaces N
are any values hard-coded that should be in a properties file? M
Proper exception handling N
Proper error reporting to the user - custom error pages? N
Code documentation N
Is there code in the servlet doGet/doPost that should be refactored into testable classes or methods? N
Evaluate the JSPs for templating, data validation, overall look and feel. N
JSPs use JSTL and EL, no java code N
There is a unit test for both entities user and task, instead a high level unit test. I would include the logic of each test method in the TaskDaotest.java Unit tests are truly a unit test rather than a high level functional test P
Test data seems to be clean and prepopulate everytime the test is run (cleanDB.sql) Test data is appropriately cleaned up or handled M
Need more context about the business logic to confirm there is a full coverage, other than that UserDaoTest.java looks ok (Don't forget to add the corresponding javadoc comments in all methods) 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 N
If you push all you current work I wouldn't mind to do a second peer review Other comments/notes?
Demonstrates initiative and thoughtful planning to leverage available resources (time, equipment, external expertise) to meet milestones and project objectives.
Evidence of significant revision and incorporation of feedback.
Last commit looks to was on March 24, for future project I would do regular commits more often. What does github history and insights demonstrate about the work on this project?
Project complexity
Consider the user display exercise to be a simple project; how does this project compare? N
Project idea looks simple, I would need an update version of the repository and also the elastic beanstalk url to provide a better feedback. What aspects of the project add complexity? N
Additional Comments

I left in the column "Items met or exceed" different letters:

I wouldn't mind doing a second Peer Review if you push the current state of the project, mostly because the controller directory is missed and all logic of the application is not in the GitHub repository.

Thank you, Carlos Leon Rivas.

pawaitemadisoncollege commented 2 weeks ago

HI @Carlos-Leon98 Thanks for your review of @ian-deloach's project. Your feedback shows you took the time needed to carefully review the existing work and provided enough detail to help guide the developer to areas for improvement. Did you happen to use any code quality plugins or tools to help you review this project? If so, it would be helpful to see a report from that tool.

I also appreciate your willingness to provide additional feedback in another review. That is very generous!

Carlos-Leon98 commented 2 weeks ago

Hi @pawaitemadisoncollege,

I didn't use any code-quality plugins or tools I did this code review as a TODO, following each point and reviewing the code.

Thank you, Carlos Leon Rivas.