MNuenninghoff / NPCCreator

NPC description generator
0 stars 0 forks source link

Peer Code Review 1 - Darin Wellons #2

Closed dwellons closed 2 months ago

dwellons commented 3 months ago
Item Considerations Comments/Suggestions
Reviewer comments and suggestions go here. Each item should have at least one "kudos" and two suggestions for improvement
Problem Statement 1. Accurately describes project purpose
2. Is professional and free of typos, slang, etc.
3. Fully explains the problem and the solution
4. Is understandable by the average person
- I think the problem statement does a good job explaining the purpose of the application and how it can be helpful to DM's.
- Your problem statement looks professional and I don't see any typo's.
- You do a good job explaining the terms that might be unfamiliar.
- I'm not sure if it would be helpful to define plot arc or if it is a well known part of the game.
Design Documentation 1. Navigation/flow through the application is logical and easy to use.
2. The order in which values are displayed are logical and easy to understand/use
3. The order in which the form fields entered are logical and easy to understand/use
4. All data discussed/documented (problem statement, flow, db design, etc.) is represented on the screens
- I think the way your screens are designed and how the application will work will make it quick and easy to use and will let more of the game be played.
- The traits are displayed in the order you mentioned in the Masters Guide. I like that you will have the ability to "re roll" to choose a new trait if you want.
- The data mentioned in the problem statement as *MVP and in the user stories is all planned for.
- Would generating a villan require different traits than the ones that a generated NPC will be given, or would you be able to create a villan using the traits you have created already?
- I think it would be cool to have the theme of the application match the game in a way.
Data model/Database 1. Everything on the screens and problem statement/flow is represented in the model
2. There is at least one 1-to-many relationship.
3. The model represents good database design
- The information explainted in the problem statement is in the database.
- I think your database looks great and well structured, I was really impressed by it and how organized it looks.
- There are multiple one to many relationships.
- I think having an image associated with the traits would be a cool feature to implement in the future.
Code 1. Proper Maven project structure is used
2. a .gitignore file for IntelliJ Java projects has been implemented
3. There is not any redundant or copy/paste code in the JSPs or classes
4. Classes are appropriately-sized (no monster classes)
Property files are used appropriately: no hard-coded values
5. Logging statements are used rather than System.out.println and printStackTrace.
6. There are appropriate unit tests/code coverage. 7. No sensitive information is visible in the repository (secrets, passwords, etc).
- The code that you have written looks clean and well structured!
- I think like you mentioned, adding the database configuration files, logs etc. to your .gitignore file is a good idea to hide passwords, etc.
- None of the classes are huge and each serves its own purpose.
- The unit testing that you have for your InteractionTraits.java class is checking for CRUD
- The only little thing that stood out to me was that some of the comments have capitalization, punctuation and some don't.

You have a great project idea and I think a lot of people are going to find this to be super useful. I also had a hard time finding suggestions, you have a solid start so far and everything you have is impressively clean and well-structured. You're ready for some JSP's and I'm excited to see how you make them, and the final product!

pawaitemadisoncollege commented 2 months ago

Hi @dwellons Thank you for your thorough review of @MNuenninghoff 's project so far. From the specificity of your comments and suggestions, it's clear you put in some time to thoroughly examine the project and you posed some thoughtful questions.

I did a quick search for the word "print" and noticed a couple files where logging should be implemented instead, the Database class and the PropertiesLoader.

In reviewing this, I noticed there isn't a story for logging out - I think I missed this in my earlier review. It should be there to be thorough.