Welcome to LinkyChainChat! This isn't just another chat app. It's a real-time messaging platform engineered for security, privacy, and an exceptional user experience. Whether you're chatting with friends or sharing work files, LinkyChainChat has you covered. ๐ก๏ธ
- Real-time Communication โก: Powered by Socket.IO for instant, bi-directional messaging without delays.
- End-to-End Encryption ๐: All messages are protected with client-side AES encryption using a shared secret key, ensuring your conversations remain private.
- Linky Anti Malware (LAM) ๐ค: A built-in security system that actively scans every piece of content in real time.
- Malware Protection ๐ฆ : Scans files and links to prevent threats.
- NSFW Filter ๐ซ: Automatically identifies and flags "Not Safe For Work" media.
- Spam & Phishing Guard ๐ฎ: Detects and flags spam messages and phishing attempts.
- Visual Indicators ๐: Clear icons and tooltips provide instant security status for every message.
- Rich Content Sharing ๐:
- File Uploads ๐: Share files of any type with a handy progress indicator.
- Link Previews ๐: URLs automatically generate rich, informative previews.
- Animated GIFs ๐: Express yourself with a library of fun GIFs.
- Code Previews ๐ป: View code files directly in the chat window.
- Advanced User Interactions โจ:
- Public & Private Chats ๐ฅ: Engage in a general channel or start one-on-one private conversations.
- Emoji Reactions โค๏ธ๐: React to messages with a wide range of emojis.
- Typing Indicator โ๏ธ: See when other users are typing.
- Message Deletion ๐๏ธ: Delete messages you have sent.
- Frontend:
- Next.js (React Framework)
- TypeScript
- Tailwind CSS (for modern, responsive styling)
- Socket.IO Client
- Font Awesome (for professional icons)
- Backend:
- Node.js (v14.x or higher)
- MongoDB either installed locally and running, or a connection string for a remote instance.
-
Clone the repository:
git clone https://github.com/LinkyChain/LinkyChain-Chat.git cd linkychain-chat -
Install dependencies:
npm install
-
Configure environment variables: Create a
.env.localfile in the project root and add the following:# MongoDB connection URI MONGODB_URI=mongodb://localhost:27017/linkychain_chat # Secret key for message encryption (choose a strong, random key!) ENCRYPTION_SECRET_KEY=your-super-secure-secret-key # URL of the chat server (for client-side socket connection) NEXT_PUBLIC_CHAT_URL=http://localhost:4723
-
Start the server:
npm run server
The server will be running at
http://localhost:4723. -
Enjoy the chat! ๐ Open your browser and navigate to
http://localhost:4723. Enter a username and start chatting in a secure and fun environment.
We welcome contributions! If you have ideas for new features, find a bug, or want to improve the project, please open an issue or submit a pull request. Collaboration is key to building great software.
This project is licensed under the MIT License. See the LICENSE file for details.