https://github.com/mohit-rathee/web-chat
my mvp project
https://github.com/mohit-rathee/web-chat
crypto css flask hacktoberfest html indexeddb javascript postgresql python sqlalchemy sqlite3 web-workers
Last synced: 2 months ago
JSON representation
my mvp project
- Host: GitHub
- URL: https://github.com/mohit-rathee/web-chat
- Owner: mohit-rathee
- License: gpl-3.0
- Created: 2022-08-16T16:03:12.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T07:01:17.000Z (about 2 years ago)
- Last Synced: 2024-04-11T08:23:58.314Z (about 2 years ago)
- Topics: crypto, css, flask, hacktoberfest, html, indexeddb, javascript, postgresql, python, sqlalchemy, sqlite3, web-workers
- Language: JavaScript
- Homepage: https://web-chat.onrender.com
- Size: 15.6 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Web-Chat 🚀
A lightweight web-based chatting application that brings real-time communication to your fingertips.
Join the conversation at [web-chat](https://web-chat.onrender.com) (Initial server startup may take some time).

## Features
- **Real-Time Updates:** Powered by [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for live user interaction.
- **Create or Host Servers:** Create and host your servers with one click.
- **Login/Signup:** Signup on servers to join them and Login if already joined.
- **Channel Communication:** Organize your conversations with channels for seamless communication.
- **Persnal Communication:** Enjoy private conversations with end-to-end encryption, ensuring your privacy.
- **Server State Management:** Download and save your server's state locally, making it easy to resume later.
- **Multi-Server Access:** Connect to multiple servers on Web-Chat for diverse conversations.
- **Media Sharing:** Share media files with all server members for a richer chat experience.
- **Local Caching:** Your messages and media are cached on your device for quick and offline access using [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API).
## Future Ideas
- **Role Based Access Control:** User permissions are judged on the basis of their roles.
- **Custom Server Features:** Allow users to customize their servers to their liking.
- **Profiling:** Add the ability to include descriptions to your server or content.
- **Frontend Framework:** Consider incorporating a frontend framework to enhance the user expirence.
## Running Locally on Linux
1. Clone this repository.
2. Navigate to the folder and create a virtual environment: `python3 -m venv venv`
3. Activate the virtual environment: `. venv/bin/activate`
4. Install the necessary dependencies: `pip install -r requirements.txt`
5. Set up environment variables:
- `export DATABASE_URI=sqlite:///test.sqlite3`
- `export SECRET_KEY=`
6. Start the service with Gunicorn: `gunicorn --worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:app`
## How to Reach Me
- 📧 Email: mohit.rathee2505@gmail.com
## For Developers
Feel free to contribute, add, or modify features according to your creative ideas. Don't forget to share your creations with me!