A well organised, structured and thought over server for chat application built using hapijs. See collaborate-client for front end.
Because we have lots of paid applications out there that provides group chats or personal. It would be awesome if you can get something similar that you can deploy in easy steps in your desired environment using your own database and optimizing as per your needs.
- You control your own chat server.
- Get experienced in handling complex real life scenarios and know how to scale them.
- Add features/ideas that are way beyond the traditional chat server thing.
- Node server. - Hapi
- MongoDB for the database. - Mongoose
- Server unit tests. - Mocha
- Server monitoring and logs. - PM2
- Server side session storage. - Redis
- Messaging queue - RabbitMQ
- Web sockets - Socket.io
- Do a
npm install
to install all the dependencies. - Create a
.env
file and store all the mongodb credentials in them. (see environment variables) - Run the application using
node app.js
This software is licensed under the MIT license specifications.
- Split server into two - api and socket.
- Implement partial response api on places where we don't need everything to be loaded.
- Create multi threaded node server for better load handling.