Skip to content

An online collaborative platform for the students of NIT KKR for online discussion and learning.

Notifications You must be signed in to change notification settings

NITKOSG/Schmooze

Repository files navigation

Schmooze

An real time multi-platform, multi-channel web app for online Discussion and Learning. The project is aimed to conduct the online group sessions for students of the National Institute of Technology, Kurukshetra.

The project have:

Group chat and discussion
Private chat
File sharing
Create own channel for discussion
No login required, just give a nickname to enter into the discussion
Several commands and rules for chat and discussion such as: /join % for joining a room etc.
User can join different groups and be part of the discussion
Different color schemes for the chat and logs.
Download the chat ,logs and discussion file of a channel (Incase the user could not attend the dicussion)

Things to add:

Creating a robot named "Aron" for the project to automate the thing.
Using webRTC for extending the functionality of the project such as Face to Face Chat and sessions.
and lots more to decide :)

Technologies I have used:

Socket.io for socket connections
Redis Server for session storage and managment.
Node.js And Express for the server side
Simple HTML5 and CSS3 for the front-end.
MongoDB and Mongoose for Database Management.

Schmooze Setup

Step 1

Fork/Clone the project.

Step 2

Install Redis on your computer.

Step 3

Install and setup MongoDB on the computer and ensure to that it runs successfully.

Step 4

Ensure you have latest version of node and npm installed.
Check for node version by using node --version in your terminal (v >= 4.3.0).

Step 5

Create a config.js file in the project directory.
Add the following content in the file :
var params = { 'sessionSecret':'choose one', 'sessionCookieKey':choose one' }; module.exports = params;

Step 6

cd into the project directory.
Run "sudo npm install" to install all the node dependencies required by the project. Run node bin/www to run the project.

Contribute :)

Feel free to contribute to the project.
Create an issue if you find anything wrong with the project.

Simply Fork, Clone and send Pull Request :)