A progressive web-based chat application designed exclusively for college students, providing a safe, private, and completely anonymous space for communication.
- Absolute Anonymity: No sign-up, login, or registration required
- Real-Time Chat: Instant messaging with Socket.IO
- Channel-Based Conversations: Multiple public channels for different topics
- Typing Indicators: Dynamic typing indicators for better user experience
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
#general-chat- General discussions and casual conversations#exam-prep- Study groups, exam tips, and academic support#campus-events- Campus activities, events, and announcements#mental-health-support- A safe space for mental health discussions#buy-and-sell- Buy, sell, and trade items with fellow students
- Dark charcoal/deep navy background with vibrant glowing accents
- Electric purple, cyan, and magenta color scheme
- Clean, modern typography with Poppins font
- Minimalist and intuitive layout
- Glowing effects on interactive elements
- Node.js (version 14 or higher)
- npm or yarn
-
Clone or download the project
git clone <repository-url> cd peerlink-chat
-
Install dependencies
npm install
-
Start the development server
npm run dev
Or for production:
npm start
-
Access the application Open your browser and navigate to
http://localhost:3000
- Create a Heroku app
- Set up environment variables if needed
- Deploy using Git:
git push heroku main
- Connect your GitHub repository to Railway
- Railway will automatically detect the Node.js app and deploy it
- Create a new Web Service on Render
- Connect your repository
- Set build command:
npm install - Set start command:
npm start
Note: Socket.IO requires a persistent connection, so Vercel might not be ideal for this app.
peerlink-chat/
├── index.html # Main HTML file
├── styles.css # CSS styles with Neon Noir theme
├── script.js # Frontend JavaScript
├── server.js # Node.js backend server
├── package.json # Dependencies and scripts
└── README.md # This file
- HTML5: Semantic markup with accessibility features
- CSS3: Custom Neon Noir theme with animations and responsive design
- Vanilla JavaScript: No external frameworks, pure ES6+
- Socket.IO Client: Real-time communication
- Node.js: Server runtime
- Express.js: Web framework
- Socket.IO: Real-time bidirectional communication
- CORS: Cross-origin resource sharing
- No Data Storage: No personal information is stored
- Anonymous Users: Random user IDs and colors
- XSS Protection: Basic HTML sanitization
- Stateless Design: No persistent user sessions
- Open the app in your web browser
- Choose a channel from the sidebar
- Start chatting - you'll be assigned a random anonymous identity
- Switch channels anytime to join different conversations
- Use settings to customize your experience
Basic admin endpoints are available for monitoring:
GET /admin/channels- List all channels and user countsGET /admin/users/:channel- List users in a specific channel
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support or questions, please open an issue in the GitHub repository.
PEERLINK - Study • Chat • Have Fun 🎉