/webApp

The Web App

Primary LanguageJavaScript

my2cents

my2cents is an application that aims to make employee engagement a vital metric in business strategy by making feedback more accurate, precise, and real-time.

The idea was born from the realization that corporations either don’t value employee engagement enough to measure it, or are using ineffective methods for today’s rapidly changing business climate.

my2cents is a mobile-optimized web application, built using the MEAN stack, and is currently deployed at http://my2cents-app.azurewebsites.net.

Instructions to get started

You may demo the application by visiting my2cents at the url above.

To run the application locally, see the Running my2cents locally section below.

Walkthrough

For Employees

my2cents allows you and your co-workers to anonymously broadcast your sentiments about the workplace in real-time. Employees can submit their opinion once per day with a simple touch and hold interface.

For Employers / Executives

View the sentiment of the employees at your company. Track results over time and compare data to changes in HR policy to monitor how the choices you make affect the overall happiness of your employees.

Imgur

Technology stack

  • MongoDB Schema-less NoSQL Database

  • express Web application framework wrapping node

  • angular HTML/JS application framework

  • node Server-side JS

  • d3.js Data-visualization framework

  • Morris.js Charting library

  • Grunt Javascript task runner

  • mocha Testing framework, used to run tests

  • supertest HTTP-request assertion library used with mocha

Challenges

  • Integrating a decent size d3.js codebase with Angular.js
  • Responsive web-design, to ensure a clear and adaptable layout on both mobile and desktop platforms

The Team

Marco Au, Vin Halbwachs, Omkar Vedpathak

Configuring my2cents on your own machine

Setting environment variables

Client side

More information coming soon!

Server side

Server side variables are set through the shell, and accessed using process.env.VAR_NAME in node. An actual deployment may need these to be configured in a deployment script, the format of which is dependant on your hosting service.

If you are running the server from a local machine (http://localhost:8008), this can be skipped.

Bootstrapping

You'll need to use grunt and a local instance of Mongo DB.

Installing grunt

  • npm install -g grunt-cli

Installing MongoDB

  • If you use Homebrew, brew install mongodb

  • If you're not using Homebrew, follow the instructions on the Mongo DB site, following the directions under the section titled Installing MongoDB Manually

  • Once installed, start up the database with either mongod, or sudo mongod if you don't have the appropriate permissions when using the former command

Bootstrapping a client

More information coming soon!