This is a clone of my own project bubbly, with a python (flask) API created w/ flask-socketio.
A dynamic chat application created w/ Socket.IO, React, TypeScript and Express, Node.js.
Live demo with Node.js API deployed on Heroku is here.
Note: This project is not up-to-date with the Node.js version. This is rather an experimental project to practice Python.
- Creating chat rooms for real-time chat
- Joining conversations by using themed rooms
- JWT based anonymous authentication
- Users can set their username and conversation bubble color
- Sending images/gifs
- Emoji picker
- "User is typing" notifications
- Dark theme
- Automatically linkifying urls, emails etc
- Invite/share buttons
- Sound notification when the window is not focused
- "Back to bottom" button to scroll down automatically
- API Framework: Flask
- Real-Time Engine: Flask-SocketIO
- Authentication: JSON Web Token
- UI Components: Material-UI
- Styling: styled-components
- Forms: Formik
- Form Validations: Yup
- Illustrations: unDraw
- Linting: ESLint
- Code formatting: Prettier
To run it in development mode: