Roster is what we made to get familiar with NodeJS as webserver in combination with Socket.IO.
NodeJS tutorials, or any programming tutorial for that matter, never show how to create a proper application structure so it can become more than just the purpose of a tutorial. And because of this we used this project to try out some techniques in order to give our project more structure so it will allow us to create "bigger" applications. Do note that this is just a prove-of-concept. It shows the beginning of structured project without the use of specialized frameworks to do that for us. We hope this project can also serve as teaching tool for the rest out there who've come across the same needs with a NodeJS-based webapplication.
Roster uses the following technologies:
Technology | Description |
---|---|
NodeJS | JavaScript runtime |
Express | NodeJS web framework |
Socket.io | Websockets framework |
Gulp | Gulp JavaScript task runner |
Compass | CSS authoring framework (scss/sass) |
Mustache | Logic-less templates with JavaScript |
RequireJS | JavaScript file and module loader |
jQuery | jQuery |
MySQL | MySQL Database |
You can find the minimum DB schema in the app/db folder. This schema creates the necessary tables and has also prefilled the user DB with some dummy data. You can replace this data as you wish.
In order to install dependencies for Roster you can run the following command from the command-line.
npm install
In order to run Roster you may want to compile it first.
This is easily done by running gulp
in the root of the project folder on the command-line.
gulp
Start the project by running index.js with NodeJS like so:
node index.js
The webapplication binds to port 3000.