Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💬ChatEngine

A CRUD-based WhatsApp-inspired chat application built with Express.js, MongoDB, and EJS to demonstrate RESTful routing, server-side rendering, and database integration.


📖 About

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.


✨ Features

  • 💬 Create New Chats
  • 📄 View All Messages
  • ✏️ Edit Existing Chats
  • ❌ Delete Chats
  • 🕒 Automatic Timestamp Display
  • 📱 Responsive WhatsApp-inspired UI
  • ⚡ RESTful CRUD Operations
  • 🗄 MongoDB Database Integration

⚙️ How It Works

User Request
      │
      ▼
Express Routes
      │
      ▼
Controller
      │
      ▼
MongoDB Database
      │
      ▼
Mongoose Models
      │
      ▼
Render EJS Templates
      │
      ▼
Response to Browser

🛠 Tech Stack

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

Frontend

  • EJS
  • HTML5
  • CSS3

Utilities

  • Method Override
  • Faker.js

Deployment

  • Render

📂 Project Structure

📦 Whatsapp-chatbox-Clone
├── 📁 models
│   └── chat.js
│
├── 📁 views
│   ├── index.ejs
│   ├── new.ejs
│   └── edit.ejs
│
├── 📁 public
│   └── style.css
│
├── 📄 index.js
├── 📄 init.js
├── 📄 package.json
└── 📄 README.md

🚀 Getting Started

Clone Repository

git clone https://github.com/Sairaj2033/Whatsapp-chatbox-Clone-.git
cd Whatsapp-chatbox-Clone-

Install Dependencies

npm install

Start MongoDB

mongod

Run the Application

node index.js

Visit:

http://localhost:8080/chats

📌 REST API Routes

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

📚 Concepts Covered

  • RESTful Routing
  • CRUD Operations
  • Express.js
  • MongoDB
  • Mongoose ODM
  • Server-side Rendering (EJS)
  • Middleware
  • Method Override
  • MVC Pattern

🔮 Future Improvements

  • 🔐 User Authentication
  • 💬 Real-time Messaging using Socket.io
  • 😊 Emoji Support
  • 📎 File & Image Sharing
  • 🌙 Dark Mode
  • 📱 Mobile Responsive Enhancements

🤝 Contributing

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

👨‍💻 Author

Sairaj Patil


⭐ Support

If you found this project useful, consider giving it a to support its development.

About

WhatsApp Mini with CRUD operations A full-stack WhatsApp-inspired CRUD application built with Node.js, Express, MongoDB, and EJS, demonstrating RESTful architecture and server-side rendering.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages