A CRUD-based WhatsApp-inspired chat application built with Express.js, MongoDB, and EJS to demonstrate RESTful routing, server-side rendering, and database integration.
ChatEngine is a full-stack CRUD application inspired by WhatsApp's messaging interface. It demonstrates how to build server-rendered applications using Node.js, Express.js, MongoDB, and EJS while following RESTful architecture.
Users can create, edit, view, and delete chat messages stored in a MongoDB database.
- 💬 Create New Chats
- 📄 View All Messages
- ✏️ Edit Existing Chats
- ❌ Delete Chats
- 🕒 Automatic Timestamp Display
- 📱 Responsive WhatsApp-inspired UI
- ⚡ RESTful CRUD Operations
- 🗄 MongoDB Database Integration
User Request
│
▼
Express Routes
│
▼
Controller
│
▼
MongoDB Database
│
▼
Mongoose Models
│
▼
Render EJS Templates
│
▼
Response to Browser
- Node.js
- Express.js
- MongoDB
- Mongoose
- EJS
- HTML5
- CSS3
- Method Override
- Faker.js
- Render
📦 Whatsapp-chatbox-Clone
├── 📁 models
│ └── chat.js
│
├── 📁 views
│ ├── index.ejs
│ ├── new.ejs
│ └── edit.ejs
│
├── 📁 public
│ └── style.css
│
├── 📄 index.js
├── 📄 init.js
├── 📄 package.json
└── 📄 README.md
git clone https://github.com/Sairaj2033/Whatsapp-chatbox-Clone-.git
cd Whatsapp-chatbox-Clone-npm installmongodnode index.jsVisit:
http://localhost:8080/chats
| Method | Route | Description |
|---|---|---|
| GET | /chats |
Display all chats |
| GET | /chats/new |
New chat form |
| POST | /chats |
Create chat |
| GET | /chats/:id/edit |
Edit chat |
| PUT | /chats/:id |
Update chat |
| DELETE | /chats/:id |
Delete chat |
- RESTful Routing
- CRUD Operations
- Express.js
- MongoDB
- Mongoose ODM
- Server-side Rendering (EJS)
- Middleware
- Method Override
- MVC Pattern
- 🔐 User Authentication
- 💬 Real-time Messaging using Socket.io
- 😊 Emoji Support
- 📎 File & Image Sharing
- 🌙 Dark Mode
- 📱 Mobile Responsive Enhancements
Contributions are welcome!
If you'd like to improve this project:
- Fork the repository
- Create a feature branch
- Submit a Pull Request
- Open an Issue
Sairaj Patil
If you found this project useful, consider giving it a ⭐ to support its development.