WebFund 2016W: Assignment 5: Difference between revisions

From Soma-notes
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''This assignment is not yet finalized.'''
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:
* Uploading of logs
* Uploading of logs
* Logs stored in MongoDB (as per storeLogs.js)
* Logs stored in MongoDB (as per storeLogs.js)
* Listing log entries matching a given query for services and messages
* Listing and visualizing log entries matching a given query for (with each field being a regular expression):
* A graph of the number of log messages per hour over a 24 hour period
** 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
* 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".
This assignment is worth 20 points and is due on March 27, 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:
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 hourly 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.
 
Points may be deducted for disorganized, hard to read/understand, or otherwise problematic code EVEN IF THE CODE FUNCTIONS PROPERLY.
 
Good luck!
 
==Solutions==
 
[http://homeostasis.scs.carleton.ca/~soma/webfund-2016w/code/analyzeLogs-sol.zip analyzeLogs-sol.zip]

Latest revision as of 20:49, 29 March 2016

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 20 points and is due on March 27, 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!

Solutions

analyzeLogs-sol.zip