Web Analytics for Humans
This is a weekend project to familiarize ourselves to NodeJS, web analytics and NoSQL technologies.
Think modularity and reuseability. We do not want to duplicate code and want this whole project to be scalable. Look for libraries and read on NodeJS programming standards, practices and architectures.
- Use Winston
- Define strict logging level (info, notice, debug, severe)
- Currently winston should log exception to a seperate log file. We should rething this and try to handle as many exceptions in the code it self. It is also a good practice to restart Node applications when an unhandled exception occur.
To start the backend server with the email notification in case of exception, run (in /Broccoli/backend/script):
./start-server >& /dev/null &
same for the API-server
./start-api >& /dev/null &
KEEP ME UP TO DATE. This will be important if at some point we have to create a script to automatically setup a new servers (AWS)
- [Moment-Module] (http://momentjs.com/) - Formatting dates
- jQuery - Client-server communication
- [express-useragent] (https://npmjs.org/package/express-useragent) - Useragent parser for Node.js
- Express.js - Node.js Web Framework
- node.bcrypt.js Password Cryptography
- Jade - HTML Templating Engine
- EmailJS - Node.js > SMTP Server Middleware
- Moment.js - Lightweight Date Library
- Twitter Bootstrap - UI Component & Layout Library