A modern real-time messaging platform built with Next.js, WebRTC, Socket.IO and MongoDB.
Zline is a production-ready end-to-end encrypted messaging platform focused on privacy, security and real-time communication.
Built to explore modern distributed application development, Zline combines secure authentication, encrypted messaging, WebRTC calling, scalable socket communication and production deployment into one complete application.
Rather than cloning an existing messenger, the goal was to understand how real communication platforms are engineered.
| Authentication | Communication | Security |
|---|---|---|
| โ Email Login | โ Real-time Chat | โ End-to-End Encryption |
| โ Google OAuth | โ Voice Calls | โ JWT Authentication |
| โ Session Management | โ Video Calls | โ HMAC Socket Auth |
| โ Protected Routes | โ Group Calls | โ NoSQL Protection |
| โ Account Recovery | โ Voice Messages | โ IDOR Protection |
| โ Delete Account | โ Search Messages | โ Rate Limiting |
| โ Pin Messages | โ Secure Headers | |
| โ Star Messages | โ CORS Protection | |
| โ Push Notifications | โ Authorization Checks |
Browser
โ
โผ
Next.js Application
โ
โโโโโโโโโโโโโโโโโ
โ โ
Auth.js Socket.IO
โ โ
โ WebRTC
โโโโโโโโฌโโโโโโโโโ
โผ
MongoDB Atlas
โ
โผ
Render Socket Server
Security was treated as infrastructure, not as a feature.
- ๐ End-to-End Encryption
- ๐ JWT Authentication
- ๐ Google OAuth
- ๐ HMAC Socket Authentication
- ๐ก Authorization Validation
- ๐ก NoSQL Injection Protection
- ๐ก IDOR Protection
- ๐ก Rate Limiting
- ๐ก Secure Headers
- ๐ก Input Validation
- ๐ก CORS Protection
app/
components/
hooks/
lib/
models/
public/
socket-server/
types/
utils/
MONGODB_URI=
AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
NEXT_PUBLIC_SOCKET_URL=
NEXT_PUBLIC_APP_URL=git clone https://github.com/YOUR_USERNAME/zline.git
cd zline
npm install
npm run dev- Authentication
- Google OAuth
- Secure Messaging
- Voice & Video Calls
- Group Calls
- Push Notifications
- Production Deployment
- Security Hardening
-
Desktop Client
-
Mobile App
-
Friend System
-
Shared Media
-
Message Scheduling
Contributions, ideas and improvements are welcome.
Please open an Issue first before submitting major changes.
This project is licensed under the MIT License.
Special thanks to the open-source community and the maintainers of:
- Next.js
- React
- MongoDB
- Socket.IO
- WebRTC
- Tailwind CSS
- Auth.js
- Vercel
- Render
Without their work, projects like this would be significantly harder to build.