Skip to content

A chat site where people can meet with people globally and chat together with tone based chatting feature, chat in a fun way

License

Notifications You must be signed in to change notification settings

blackcat-007/PingNest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PingNest Logo

Note: PingNest is a fun, themeable, and emotion-aware chat platform built using the MERN stack. It is designed for expressive, real-time conversations with customization, emoji-style tones, and image support.

PingNest

A dynamic & responsive, emotion-driven real-time chat app with theme customization and photo support.


πŸ”₯ Features

  • βœ… Emotion-Based Messaging: Choose the tone of your message from a dropdown. Each tone changes the message color β€” making chats more expressive.
  • βœ… Theme Customization: Choose from multiple chat UI themes using DaisyUI.
  • βœ… Real-Time Messaging: Messages appear instantly using Socket.IO.
  • βœ… Chronological Ordering: Messages are sorted from newest to oldest.
  • βœ… Online Status Viewer: See who’s currently active in real-time.
  • βœ… Image Upload with Cloudinary: Upload and share photos directly in chat.

πŸ›  Tech Stack

TechnologyDescription
MongoDBNoSQL Database
Express.jsBackend Framework
React.jsFrontend Library
Node.jsRuntime Environment
Socket.IOReal-Time Communication
CloudinaryImage Hosting & Delivery
Tailwind CSSUtility-first Styling
DaisyUITheme & Component Library
JWTSecure Authentication

πŸ“² Getting Started

Prerequisites

  • Node.js >= 14.x
  • MongoDB Atlas or local MongoDB
  • Cloudinary account (for image uploads)

Clone the Repository

git clone https://github.com/blackcat-007/PingNest-fullstack.git
cd PingNest-fullstack

Set Up Environment Variables


PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_secret_key
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_secret

Install Dependencies


npm install
cd client && npm install
cd ..

Run the App


npm run dev

The backend runs at localhost:5000 and frontend at localhost:3000


βš™οΈ App Features in Detail

πŸ“¨ Emotion-Based Messaging

  • Message tone dropdown with color-coded styling.

🎨 Theme Customization

  • Switch between DaisyUI themes without reloading.

πŸ‘€ Online Users Panel

  • View who's currently active via sockets.

πŸ–Ό Image Uploading

  • Drag and drop or upload images β€” stored via Cloudinary.

πŸ”„ Message Sorting

  • Newest messages appear first.

πŸš€ Deployment

Backend Tips:

  • Use dotenv securely
  • Enable CORS
  • Use MongoDB Atlas

Frontend Tips:

  • Run npm run build for production build
  • Use platforms like Vercel/Netlify

πŸ”’ Security

  • Passwords hashed with bcrypt
  • Authentication via JWT
  • Image uploads protected with Cloudinary keys in .env

πŸ“„ License

This project is licensed under the Apache License 2.0.

Β© 2025 Shubho. All rights reserved under the Apache License 2.0.


πŸ‘¨β€πŸ’» Author

Made with ❀️ by Shubho (blackcat-007)

🀝 Contributing

Pull requests are welcome. Fork it, improve it, PR it.

πŸ’¬ Contact


πŸ“Έ Screenshots

Sign in & Sign up with quick email id verification system

Chat UI Screenshot

Chat UI Screenshot

Chatting with tone selection and image support

Chat UI Screenshot

Chat UI Screenshot

Chat UI Screenshot

Customise your profile and upload profile picture

Chat UI Screenshot

Customise your theme with 32 available themes

Chat UI Screenshot

Chat UI Screenshot

Chat UI Screenshot

About

A chat site where people can meet with people globally and chat together with tone based chatting feature, chat in a fun way

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages