Giter Site home page Giter Site logo

irv-project's People

Contributors

irvingmike avatar

Watchers

 avatar  avatar  avatar

irv-project's Issues

Code Review 2 by TK

Design/Code Review 2

Project: Instant Run-off

Developer: Aaron Anderson

Reviewer: Todd Kinsman

Category Criteria Analysis/Comments
Running application
Describe the application functionality that has been built and is working. An easy way to create a runoff election
What is good? Well thought out ui and style. A good amount of code is written with great security considerations
What could be improved? Keep at it. If the password security keeps delaying you then I would put it on the back burner; although, with the amount of progress you've made so far, it's not going to hurt you to work on it.
Unit Tests
What are the code coverage statistics?
Are @Before/@BeforeClass/@After/@afterclass used to reduce redundant code? Looks good so far
JSPs
Is templating used to eliminate rundandant code(for example, header.jsp, footer.jsp, etc.) Didn't go into detail on this.
What is good? Again, the style is amazing. Great user experience and the templating is a nice advantage for the developer
What could be improved?
Code quality
Are methods single-purpose? Yes.
Are classes appropriately-sized classes (no monster classes)? Yes.
Are the same lines of code repeated at all? Nope.
Do any classes perform very similar functions that could be candidates for super/subclass relationships? The generic dao helped with this.
Are any values hard-coded that should be in a properties file? Not that I noticed
Are variable names descriptive? Yes.
Are there many branches or loops that could be simplified or broken up into smaller methods? So far so good.
Do the DAOs use Hibernate? No hard-coded sql! Uses hibernate. Talked about updating the sqlQuery to be similar to setting password
Has log4J been added? Yes
Are there logging statements in the code? Yes
Are appropriate logging levels used? Info, debug, error, for example. Yes
Are there any System.out.printlns in the code? No.
Other comments/notes? Looks well thought out.
Web Service/API integration Which web service/api is being used? Built his own.
Is the integration built? Working on it.
If so, evaluate the integration code. What is good? What could use improvement?
Independent research topic What is the developer's independent research topic?
Has the topic been implemented in the project? Yes, SASS.
If so, evaluate the implementation. What is good? What could use improvement? Organized well by using includes/partials
Key takeaways List at least 3 things you learned while reviewing this project that will help you in your own project. Better way for queries in Hibernate. Aaron is a design all-star. Generic daos will be helpful for repetitive code.

Code Review #3

Sorry for getting this to you late!

Design/Code Review 3

Project: IRV

Developer: Aaron Anderson

Reviewer: Gunther Knutson

Category Criteria Rating/Comments
Project Overview
Which planned functionality has been met? I cloned from the master branch, couldn't sign up on domain... From what I could tell in class, everything was working!
What planned functionality has not been met? Just extra ideas that weren't vital to the project completion
Describe the GitHub history and what it demonstrates about the project progress during the semester. Very very steady completion! A lot of time has been consistently put into this and it's noticeable!
Describe how peer and instructor feedback/recommendations were incorporated into the project? Mentioned abstracting the DAO but likely won't be included in final version, just an interesting idea discussed.
Other comments/notes?
JSPs
Evaluate the JSPs for templating, business logic, data validation, overall look and feel. Well templated and oranized!
Other comments/notes?
Java code quality Evaluate the code quality for the following and identify specific areas for improvement (class, method or line number)
  • single-purpose methods
  • well-structured project
  • descriptive naming of packages, classes, methods, variables
  • classes appropriately-sized (no monster classes)
  • 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?
  • proper exception handling
  • proper error reporting to the user
  • code documentation
  • Logging Evaluate the use of logging, for example:
  • appropriate use of logging statements in the code for error logging and debugging
  • logging levels used - info, debug, error
  • no occurrences of System.out.printlns or printStackTrace()
  • logging works on Digital Ocean deploy
  • Unit Tests Evaluate the unit tests, for example:
  • tests are truly a unit test rather than a high level functional test
  • test data is appropriately cleaned up or handled
  • 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
  • Unit test pass and there is good use of @before and @after tags. Test are good.
    Other comments/notes?
    Security Evaluate authentication/authorization: Well designed security using excryption! I know there was a lot of effort but in here!
    Is it implemented correctly and working locally as well as on Digital Ocean? No? I tried signing up on your domian and go a 404. HTTP Status 404 - /newvoter
    Other comments/notes?
    Web Service/API integration Evaluate the service/api integration, for example:
  • Which service/api is implemented?
  • how is error handling of the service implemented? For example, What happens if the service is not available?
  • WebService API for IRV is implemented within project. If the service is not availble the site isn't either so no error handling necessary.
    Other comments/notes?
    Independent research topic What is the independent research topic? SASS
    Is the independent research topic/technique implemented in the project? Of course! Aaron = CSS God
    Other comments/notes?
    Deployment Has the application been successfully deployed to Digital Ocean or another hosting service? I believe so? Signing up was an issue for me but the site is there and running.
    Is the hosted application fully functioning? Negative.
    Other comments/notes?

    Instructor Feedback - Week 14

    • Some doPost and doGet methods are bit a long. How might you break these out?
    • What is the user experience if there is a system error, i.e., db exception? Error page?
    • What are your thoughts on a constant (instance variable) for destination jsps in the controller, as opposed to a local variable? Example: getRequestDispatcher("/voter-access/viewPoll.jsp");
    • Remember to close the session after opening it. Example: getChoiceWinner
    • Testing is always a work in progress, I know. AccessRoleTest - missing assertion, or does this serve another purpose?
    • Watch for those sneaky system.out.printlns (Experiments.java, for example)
    • Keep up the good work logging time, remove links to the plan and journal if not used
    • I'm sure this is on your radar, but the link here (https://github.com/MadJavaEntFall2016/student/blob/master/IndividualProjects.md) is not working.

    Code Review

    Design/Code Review 1

    Project: IRV (Instant Runoff Voting)

    Developer: Aaron Anderson

    Reviewer: Gunther Knutson

    Project Link

    Category Criteria Rating/Comments
    Problem Statement Does it exist? Y
    Does the problem statement accurately describe project purpose? Y
    Is the problem statement professional? Think of prospective employers viewing this as part of the developer's portfolio. Y
    What is good? The overall idea is great and has applications beyond elections.
    What could be improved? N
    Design Documentation Does it exist? Y
    Is the navigation/flow through the application logical and easy to use? Y
    Is the order in which the fields are displayed and form fields entered logical and easy to use? Y
    What data is missing? N/A
    Is there data that is not used? N
    What is good? Screens are well laid out and looking good!
    What could be improved? N/A
    Data model Does it exist? Y
    Is everything on the screens represented in the model? Y
    Does the model represent good database design? Y
    What is good? Relations between tables make sense. No extraneous information will be stored.
    What could be better? N/A
    Additional design documents
    Application structure in IntelliJ Does it exist? Y
    Is the structure correct for a Maven project? Y
    Are packages and classs appropriately named? Y
    Other comments/notes? N/A
    JSPs Do they exist? N
    Is templating used (for example, header.jsp, footer.jsp, etc.)? N/A
    Is there business logic mixed in the JSPs? N/A
    CSS? N/A
    Other comments/notes? No front end JSPs done, lots of back end done though :)
    Entities/DAOs/Controllers Do they exist? Entities (Y)/ DAOs (N)/ Controllers (Y)
    Java code quality Are methods single-purpose? Y
    Are classes appropriately-sized classes (no monster classes)? Y
    Are the same lines of code repeated at all? N
    Do any classes perform very similar functions that could be candidates for super/subclass relationships? N
    Are any values hard-coded that should be in a properties file? N
    Are variable names descriptive? Y
    Are there many branches or loops that could be simplified or broken up into smaller methods? N
    Do the DAOs use Hibernate? No hard-coded sql! N/A
    Other comments/notes? Just need to create DAO's!
    Logging Has log4J been added? Y
    Are there logging statements in the code? Y
    Are appropriate logging levels used? Info, debug, error, for example. Y
    Are there any System.out.printlns in the code? N
    Other comments/notes? N/A
    Unit Tests Do they exist? Y
    Do the tests pass? Y
    What is the current code coverage? ?
    Is each test truly a unit test or are they functional tests? Unit tests
    Other comments/notes? N/A
    Web Service/API integration Has a web service/api been selected? N
    What web services/apis might work well with this application? Group Project API
    Independent research topic Has a topic been selected? Maybe
    What topic/s might fit well in this application? Talked researching and using SASS

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google โค๏ธ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.