Skip to content

bhu800/chit-chat-room

Repository files navigation

chit-chat-room

A real-time chat room application in Flask using socketio.

  • Multiple Rooms: Using Flask-Socketio different rooms are created for different types of discussions.
  • Profanity Filtering: Using better-profanity python module all swear words (and their leetspeak) are removed from message strings.
  • Live Chat: Using Javascript, SocketIO, and JQuery all messages are sent to the Python web server, and then broadcast back to all clients.
  • Register/Login: Using flask-sqlalchemy all users are registered and can login again with same username-password.

demo

How to deploy ?

Get the code

$ git clone https://github.com/bhu800/chit-chat-room.git
$ cd GCSBot

Virtualenv modules installation (Unix based systems)

$ virtualenv env
$ source env/bin/activate

Virtualenv modules installation (Windows based systems)

$ virtualenv env
$ source env/bin/activate

Install modules

$ pip3 install -r requirements.txt

The chatbot uses heroku-postgresql database for registering users. So you can make your own app and database in heroku and use that in app. For more info about how to use heroku-postgresql outside of heroku please refer official documentation.

After setting up your database, start the application (development mode)

$ python server.py # default port 5000

Access the web app in browser: http://127.0.0.1:5000

What's next ?

  • Build a basic chat application with pre-existing different rooms.
  • Bad word filtering
  • Custom Bad word filtering and warning and user removing feature on consistent use of bad words
  • 'Add Room' functionality
  • show all online users
  • emojis and stickers for chat
  • Joining multiple rooms at a time
  • Add, Update and View Profile (Profile Image, About) (basicaly a little 'social' touch :D)
  • Different background-image for different lounge
  • Admin Backend, so that some sort of events and discussions can be hosted on the platform
  • Join as guest (no register/login required) feature.
  • Join via invite-link feature (room creater can send invite link for private rooms)
  • Permission feature if room creator wants to let specific persons to let in. There can be multiple methods to verify/permit user: a.) Email verification b.) Allowing only educational email ids with verification c.) manual perimitting by room-admin.
  • Share admin power feature in which admin can make further new admins or moderators fo same room.