Semi-Final Project Grading Rubric
Note: There may be some slight modifications to the project rubric but overall this is what you will be graded on.
Your project grade will have three parts. One part will be the project grade. The second and third part will depend on your “work on the project” score as measured by your commits, your participation in the issue tracker (completed tasks and comments), and work on the wiki. Once I figure out what your work score is I normalize that by the work you did relative to the rest of the class which is the second part of your project grade. The third part of the project grade is the amount of work you did relative to your team-mates, times your project score. The three parts are added.
Here is the draft of the rubric I will use for grading the project:
[:heavy_check_mark:] Users stories as related to the project (format/featues)?
[:heavy_check_mark:] Does the app seem responsive to real users?
[:heavy_check_mark:] Do you have separated and clear the three kinds of tests: Unit tests, Integration Tests and End2End/acceptance tests
[] Do your end2end tests correspond to user stories. Do they successfully run on the deployed site
[] How much unit test coverage of the code was present? (No counting snapshot/integration tests as coverage)
[:white_check_mark:] Do you have integration tests using react-testing library beyond merely snapshot tests?
[:white_check_mark:] Are your unit tests (in Jest) properly mocked so they don’t use the React or external libraries
[:heavy_check_mark:] Am I able to run your tests myself with a command (as described in your README under how to run tests)
[] Were your technology and design choices justified and written down?
[:heavy_check_mark:] Did you make good use of the issue tracker/connection with stories + code?
[:heavy_check_mark:] Completed issues should be linked to the commits
[] Completed features should be linked to passing acceptance tests
[:white_check_mark:] Are tasks maintained, commented, updated and then closed?
[:white_check_mark:] Is the work balanced (good) or is it just one or two members (bad) who did most of the work?
[:heavy_check_mark:] Is the application unified or does it look like several parallel projects (eg. multiple instances demoed showing features not integrated)? Is all the code in the master branch and actually part of the runtime (good) or is there lots of code that isn’t part of the running project (bad)?
[:white_check_mark:] Is there no code in the repo except original code? Is the repo clean of third party libraries which are only brought in at build time via dependency installation
[:heavy_check_mark:] Were you careful to keep your reop unpolluted with large files (how big is your repo) and use git large file storage lfs when large files are needed and NEVER include the node_modules folder in the repo.
[:heavy_check_mark:] Did you do anything pants-over-head stupid like put API keys (or passwords or use passwords like “secret” or “password”) in your repo?
[:white_check_mark:] Is there a clear readme which tells how to install, run tests, find documentation and contribute to the project?
[] What is the quality/quantity of developer documentation (wiki or in repo built using sphinx (and/or jsdoc))? Do you have both autogenerated documentation for the api and manual documentation for tutorials?
[] What is the quality/quantity of user documentation (could be within the app) such as tooltips?
[:heavy_check_mark:] Is the site deployed on an external host (AWS)?
[:heavy_check_mark:] Is the deployment version as fully functional as the demoed version?
[] Did you make it clear how I can log and test the demo site?
[:heavy_check_mark:] Are there no broken links
[:heavy_check_mark:] Is it easy to use?
[:white_check_mark:] Does it use graphic design well?
[:heavy_check_mark:] Was the project functional (working code)?
[] How much significant customization is the project?
[] Lines of original code?
[] How much of basic user stories (functionality) was implemented?
[] Does the code follow coding standards and pass ESlint?
[] Are third party libraries kept out of codebase and installed with pip (npm/yarn) rather than checked in as if this were original code <:-o?
[] Are the project goals (briefly) explained?
[:heavy_check_mark:] Is it clear what was accomplished (what user-stories/features)?
[:heavy_check_mark:] Is the quality of the process clear? (issues, test coverage, pylint, documentation)
[:heavy_check_mark:] Is it clear exactly how much each group member did in terms of commits, issues, etc?
[:white_check_mark:] Is there good use of images (not too much text)