Removing all user routes and initializing the chat routes/code.
Replacing generic chat page with public and private chat pages.
User can now freely send messages to the server.
Extracting the socket.io code into __dirname + /helpers/io.js to prevent cluttering in app.js.
Extracting connection logic (from main view) into it's own file.
User's messages appear on his screen (and the console, still).
Ensuring sublime projects don't enter version control.
Distinguising between public and private sockets (using namespaces). Also, utilizing template inheritance to seprate the public and private views.
The meetup views will have their own stylesheets.
Renaming helper to be more descriptive or role.
Turning off autocomplete on the form and redoing the IDs on the form elements to be more descriptive.
Installing mongoose.
Setting up a mongoose model to store the public rooms. This db will act as a filter when accessing chat rooms.
Adding the necessary edits to prevent users from directly going to /public/(.*) and making their own room.
Making /public display a list of all users in the database (temporary).
Bulk commit. Renaming various files and adding logic to the back-end and front-end chat handlers to manage discrete rooms.
Adding functionality to assign a name with every connected socket.
Making it so that if a user tries to create an already existing chat room, he'll be redirected to it. Previously, it would do nothing.
Making it so that all errors get passed along to the error middleware.
Adding code to save all messages sent inside the database. The messages contain references to their rooms and the rooms contain arrays of references to their messages.