Difference between revisions of "WebFund 2016W: Assignment 5"

From Soma-notes
Jump to navigation Jump to search
Line 2: Line 2:


In this assignment you will create <tt>analyzeLogs</tt>, a node web app that will allow querying and visualization of uploaded log files.  Base your app on [http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/analyzeLogs-template.zip this template].  You can use [http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/analyzeLogs-sampleData.zip these files] as test data.  Your app, however, should work with other files in standard UNIX syslog format.
In this assignment you will create <tt>analyzeLogs</tt>, a node web app that will allow querying and visualization of uploaded log files.  Base your app on [http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/analyzeLogs-template.zip this template].  You can use [http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/analyzeLogs-sampleData.zip these files] as test data.  Your app, however, should work with other files in standard UNIX syslog format.
Note this is a DOUBLE ASSIGNMENT. (Worth 2 assignments.)


Your app should implement the following features:
Your app should implement the following features:
Line 18: Line 20:


Points will be awarded as follows:
Points will be awarded as follows:
* 1 for uploading logs
* 2 for uploading logs
* 2 for storing logs in MongoDB properly
* 4 for storing logs in MongoDB properly
* 3 for listing entries in response to a query
* 6 for listing entries in response to a query
* 1 for allowing such listings to be downloaded IN THE ORDER they were in the original file
* 2 for allowing such listings to be downloaded IN THE ORDER they were in the original file
* 3 for graphing daily frequency of logs
* 6 for graphing daily frequency of logs


You may implement extra functionality.  Extra functionality may be awarded up to 2 extra points.
You may implement extra functionality.  Extra functionality may be awarded up to 2 extra points.

Revision as of 14:42, 15 March 2016

This assignment is almost finalized - just awaiting approval from TAs.

In this assignment you will create analyzeLogs, a node web app that will allow querying and visualization of uploaded log files. Base your app on this template. You can use these files as test data. Your app, however, should work with other files in standard UNIX syslog format.

Note this is a DOUBLE ASSIGNMENT. (Worth 2 assignments.)

Your app should implement the following features:

  • Uploading of logs
  • Logs stored in MongoDB (as per storeLogs.js)
  • Listing and visualizing log entries matching a given query for (with each field being a regular expression):
    • the filename of the uploaded log files
    • Month
    • Day
    • service
    • message
  • A graph of the number of log messages per day
  • A way to download queried log entries

This assignment is worth 10 points and is due on March 17, 2016. Upload a zip file with your working analyzeLogs application. The zip file should produce an "analyzeLogs" directory (just as the template file does). Please list any collaborators and resources you used in a file "analyzeLogs/comments.txt".

Points will be awarded as follows:

  • 2 for uploading logs
  • 4 for storing logs in MongoDB properly
  • 6 for listing entries in response to a query
  • 2 for allowing such listings to be downloaded IN THE ORDER they were in the original file
  • 6 for graphing daily frequency of logs

You may implement extra functionality. Extra functionality may be awarded up to 2 extra points.

Points may be deducted for disorganized, hard to read/understand, or otherwise problematic code EVEN IF THE CODE FUNCTIONS PROPERLY.

Good luck!