vangkyle / PersonalFinance

Tracking personal finance
0 stars 0 forks source link

Week 13 - Review #8

Open hallahhussien opened 7 years ago

hallahhussien commented 7 years ago

Design/Code Review 3

Project: Personal Finance Tracker

Developer: Kyle Vang

Reviewer: Hallah Hussien

Category Criteria Rating/Comments
Project Overview
Which planned functionality has been met? Login, Register, Add Transactions (almost)
What planned functionality has not been met? Chart for personal transactions based on categories, and Google Login
Describe the GitHub history and what it demonstrates about the project progress during the semester. Good progress throughout the semester!
Describe how peer and instructor feedback/recommendations were incorporated into the project? JavaDoc has been added
Other comments/notes?
JSPs
Evaluate the JSPs for templating, business logic, data validation, overall look and feel. Really clean look, flows well and is user friendly
Other comments/notes? Can't wait to see the graph!
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
  • No, does a good job separating the classes and in webapp has seperate classes for reused features - header, footer, etc Other comments/notes?
    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
  • Yes Other comments/notes?
    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
  • All unit tests are good and working! TransactionDaoTest is getting debugged, but I'm sure he will get it (:
    Other comments/notes?
    Security Evaluate authentication/authorization: Works well - needs to redirect
    Is it implemented correctly and working locally as well as on Digital Ocean? Yes
    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?
  • Service not implemented yet - but has a good idea of how to do #it
    Other comments/notes?
    Independent research topic What is the independent research topic? JFreeChart
    Is the independent research topic/technique implemented in the project? Will create piChart of expense categories so user can see how much they spend in each
    Other comments/notes?
    Deployment Has the application been successfully deployed to AWS or another hosting service? Yes
    Is the hosted application fully functioning? Yes
    Other comments/notes?