WebFund 2016W: Assignment 5

From Soma-notes

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