Blind Chat
An open-source web app for college students to connect using their official email IDs. Easily customizable for any college with a simple config file.
Next.jsTypeScriptNode.jsSocket.ioNodemailerRedisPrisma+2 more

Blind Chat Platform
Blind Chat is a platform designed for students of a specific college to connect and interact with their peers using their official college email IDs. The platform enables real-time communication via WebSocket and a modern frontend built with Next.js. The project is open-source, and you can easily adapt it for your own college by modifying the configuration file.
Demo
Features
- Student Authentication: Sign up using your official college email ID.
- Real-Time Chat: Seamless communication with peers using WebSocket.
- Customizable: Adaptable for any college with minimal changes.
Tech Stack
- Frontend: Next.js
- Backend: WebSocket server powered by Socket.IO
- Authentication: JSON Web Tokens (JWT)
- Database: Prisma + PostgreSQL
- Styling: Tailwind CSS
- Email Services: Nodemailer
Cloud Architecture

Simple Flow Diagram

How to Use
- Clone the repository.
- Follow the installation instructions to set up the WebSocket server and Next.js app locally.
- Customize the configuration file to align with your college's details.
For detailed setup instructions, refer to the Installation Guide.
Customizing for Your College
The platform uses a configuration file to define college-specific details. Here's how you can update it:
1/** Example2 * @email : 2023btcse002@curaj.ac.in3 * -->4 * @localPart : 2023btcse0025 * @separator : @6 * @domainName : curaj.ac.in7*/89export const studentEmailConfig = {10 college: {11 name: 'Your College Name',12 shortHand: 'Short Name',13 },14 localPart: {15 example: "2023BTCSE017", // enrollment ID16 regex: /^d{4}[A-Za-z]+d{3}$/, // Regex for enrollment ID17 },18 domainName: 'yourcollege.ac.in',19 support_email: 'support@yourcollege.ac.in'20}
- Update the
collegeanddomainNamefields to match your college. - Customize the regex for student email IDs if needed.
- Save the file and restart the application.