A modern real-time messaging application built with Flutter, Node.js, Express, MongoDB, and Socket.IO.
LazyText enables users to authenticate securely, discover other users, and exchange messages instantly through WebSocket-powered communication.
---
- User Registration
- User Login
- JWT Authentication
- Protected API Routes
- Password Hashing using BCrypt
- One-to-One Chat
- Socket.IO Integration
- Instant Message Delivery
- Persistent Chat History
- Real-Time Synchronization
- Browse Registered Users
- User Discovery Screen
- Secure User Sessions
- Dark Theme Design
- Responsive Layout
- Reusable Flutter Widgets
- Modern Chat Bubbles
- Smooth Navigation
- Flutter
- Dart
- Dio
- Shared Preferences
- Socket.IO Client
- Node.js
- Express.js
- Socket.IO
- JWT Authentication
- BCryptJS
- MongoDB
- Mongoose
- Cloudinary
Flutter App
โ
โผ
REST API (Dio)
โ
โผ
Express Backend
โ
โผ
MongoDB
Flutter App
โ
โผ
Socket.IO Client
โ
โผ
Socket.IO Server
โ
โผ
Real-Time Communication
lib/
โ
โโโ common/
โ โโโ color_extension.dart
โ
โโโ models/
โ โโโ user_model.dart
โ
โโโ screens/
โ โโโ auth/
โ โโโ chat/
โ โโโ home/
โ
โโโ services/
โ โโโ api_service.dart
โ โโโ socket_service.dart
โ
โโโ widgets/
โ โโโ custom_button.dart
โ โโโ message_bubble.dart
โ โโโ message_input.dart
โ โโโ round_textfield.dart
โ โโโ user_tile.dart
โ
โโโ main.dart
User Signup/Login
โ
โผ
Backend Validation
โ
โผ
JWT Generation
โ
โผ
SharedPreferences
โ
โผ
Protected API Access
User A Sends Message
โ
โผ
Socket.IO Server
โ
โผ
MongoDB Storage
โ
โผ
Receiver Socket
โ
โผ
User B Receives Instantly
POST /api/auth/signup
POST /api/auth/login
POST /api/auth/logout
GET /api/auth/checkGET /api/message/users
GET /api/message/:userId
POST /api/message/send/:receiverIdconnection
disconnect
newMessage
onlineUsers
Create a .env file inside the backend folder:
PORT=5001
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_secret_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secretgit clone https://github.com/yourusername/lazytext.git
cd backend
npm install
npm run devcd lazy_text
flutter pub get
flutter runThis project helped me gain hands-on experience with:
- Flutter Application Development
- REST API Integration
- JWT Authentication
- MongoDB Data Modeling
- Socket.IO Real-Time Communication
- Backend Development with Express.js
- Secure Authentication Flows
- Full-Stack Application Architecture
- Online / Offline Presence
- Typing Indicators
- Read Receipts
- Image Messaging
- Push Notifications
- Group Chats
- Voice Messages
- Message Search
- End-to-End Encryption
This project demonstrates:
โ Full-Stack Development
โ Mobile App Development
โ REST API Design
โ Authentication & Authorization
โ MongoDB Database Design
โ WebSocket Communication
โ Real-Time Systems
โ Production-Oriented Architecture
LazyText โ Real-Time Chat Application (Flutter, Node.js, MongoDB, Socket.IO)



