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
The problem statement checks all the boxes: descriptive, professional, and easy to understand. I appreciate that you combine the goals of a natural product and an affordable one. One small thing I noticed: on the image link, there shouldn't be a space between the ! and the [, if you remove that space it will display the image properly. There are also one or two areas where I think the wording could be a little more clear. For instance, "All we are using natural ingredients." may be a little more clear as "We only use natural ingredients." This is a small change, and there are a couple other similar spots, but overall I think the statement is clear and well thought out.
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
Your application flow and overall design are detailed and well organized. I think your screens cover your user stories well, but I also think you could expand your user stories a bit. Maybe some Admin functions? Also, I see that you have your database built, but I didn't see a diagram anywhere, so that would be a good thing to have with a link to it on the README.
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
Looking at your DB dump file, it seems like you have it set up pretty well, and I can see that you have a one->many relationship between user and orders. Something I recommend is to be consistent in your table names, so instead of "user" and "orders", have "user" and "order" or "users" and "orders". As stated above, a diagram would be helpful to make sure that all your needs for the database are covered.
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.
Your project structure looks good, and I see that you have already implemented some testing, so that's great! I don't see a .gitignore file anywhere, and that would be helpful to keep out some of the unnecessary items like your target directory and some of the items in the .idea directory. The only other thing I would note is that I see some commented out code here and there, which is totally understandable since this is all still a work in progress, but something I like to do is mark them with a TEMP or TODO so that whenever the file, whatever it is, is in its final stages, I don't forget to remove such comments and clean up the code a bit.
@subu250 Your project is off to a great start!
Design/Code Review 1
Project: IndieCosmeticProducts
Developer: Subheksha Karki
Reviewer: Paul Berger
2. Is professional and free of typos, slang,
etc.
3. Fully explains the problem and the solution
4. Is understandable by the average person
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
2. There is at least one 1-to-many relationship.
3. The model represents good database design
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.