Gradient IMG
Blind Chat project screenshot

Blind Chat

Personal

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.ioNodemailerRedisPrismaPostgresshadcn ui

πŸ‘οΈ 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#

Cloud Architecture Image

🧷 Simple Flow Diagram#

Simple Flow Diagram Image

πŸ“š How to Use#

  1. Clone the repository.
  2. Follow the installation instructions to set up the WebSocket server and Next.js app locally.
  3. 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:
/** Example
 * @email : 2023btcse002@curaj.ac.in
 * -->
 * @localPart : 2023btcse002
 * @separator : @ 
 * @domainName : curaj.ac.in
*/

export const studentEmailConfig = {
  college: {
    name: 'Your College Name',
    shortHand: 'Short Name',
  },
  localPart: {
    example: "2023BTCSE017", // enrollment ID
    regex: /^d{4}[A-Za-z]+d{3}$/,  // Regex for enrollment ID
  },
  domainName: 'yourcollege.ac.in',
  support_email: 'support@yourcollege.ac.in'
}
  1. Update the college and domainName fields to match your college.
  2. Customize the regex for student email IDs if needed.
  3. Save the file and restart the application.

❀️ Support Me#


🌱 Getting Started#

To get started, head over to the πŸ“„ Installation Guide and follow the steps to set up the platform locally.

🀝 Contributing#

Contributions are welcome! Feel free to submit issues, fork the repository, and open pull requests to improve the platform.

πŸ“œ License#

This project is licensed under the MIT License. See the LICENSE file for details.