WebFund 2013W Final Project
For your final project, you will be submitting your code in github along with documentation. The documentation will, in total, be your "report." Your documentation should have the following files, all text files in markdown format unless otherwise noted. Your project is due Wednesday, April 10th by midnight. Just do your final commit on github by that time. (If you want an extension, contact Prof. Somayaji.)
The total project is worth 20 points, as divided up below:
- README.md (3): This is the top-level readme file which should have your project's name, the names of the members of the team and their student numbers, and a one paragraph summary of the project that gives a high-level view of what the program is supposed to do and how it works, including main package dependencies.
- docs/Dependencies.md (1): List all of the external node and other software packages your application depends upon such as databases and client-side JavaScript libraries. For each, explain why it was needed briefly. You do not need to list sub-dependencies (e.g., if you depend upon express, you don't have to list all the packages that express depends upon unless you used any of them explicitly). Please include licensing information on each. If the license is "well known" (according to OSI), then you just need to give the name of the license. Otherwise, please give a URL to the text of the license.
- docs/Files.md (1): List all of the files in your repository that you created or modified explicitly (rather than ones included by required packages). Explain the purpose of each/what is in each file. For files that are modifications of existing work (e.g., a library that you modified), briefly explain what was changed.
- docs/Architecture (1): give a high-level architecture diagram of your application. This file may be in text, PDF, PNG, or JPEG.
- docs/Motivation.md (3): This file should explain how you came up with your project idea and should explain your project goals.
- docs/Extensions.md (3): List and discuss potential ways your application could be extended. Be specific as to how these extensions could be done and explain how your existing design does or does not support these extensions. This is the place where you bridge the gap between what you built and what you'd ideally like to have created.
The above is worth 12 points. The remaining 8 points are for code style and quality (4) and overall functionality (4).
If your application does not have a backend store, server-side code, and client-side code, where all three are functional and have a distinct function in your application, you'll lose 5 marks automatically. If your project server isn't implemented in in node.js, you lose 10 points.
For everything worth more than one point, reasonable but not notable projects will get one less than the maximum. Thus, if you made a modest effort you'll probably get 15/20, or 75% (a solid B). You get the last point if that part was done well. Thus, I expect to give out many Bs, some A-'s, fewer A's, and very few A+'s.
We expect to assign the same grade to all team members, and will probably do so for almost all of the teams. However, if we come to believe that certain team members have not made enough of a contribution (say, by examining github commits), we reserve the right to grade those members based upon the quality of their contributions rather than the overall quality of the project.