A full-featured, real-time messaging application built with Next.js, Express, MongoDB, and Socket.io. This project delivers a seamless communication experience with a focus on modern design, real-time updates, and intuitive user interactions.
PingMe is developed to provide a feature-rich chat platform with real-time messaging capabilities. The application features a responsive design with a clean, modern UI that adapts across devices, focusing on both functionality and visual appeal.
Clean sign-in interface with elegant form design
User-friendly registration form with profile image upload capability
Modern chat interface with real-time messaging and online status indicators
User profile display with clean layout and statistics
Easy-to-use profile update form with image upload functionality
Account settings with password management options
- Real-time Messaging: Instant message delivery and receipt using Socket.io
- User Authentication: Secure signup and login functionality
- Persistent Storage: MongoDB database for message and user data
- Profile Management: User profiles with customizable images and information
- Real-time Status: Online/offline indicators for users
- Message Management: Delete messages with proper notification
- Chat History: Persistent chat history organized by date
- User Search: Find and start conversations with other users
- Responsive Design: Adapts seamlessly to desktop and mobile devices
- Modern UI: Clean interface with intuitive navigation
- Frontend: Next.js, React, Semantic UI
- Backend: Express.js, Socket.io
- Database: MongoDB
- Authentication: JWT, bcrypt
- Real-time Communication: Socket.io
- CSS: Custom styling with responsive design principles
- Clone the repository:
git clone https://github.com/Ansh-Dev-Nagar/PingMe.git
cd PingMe- Install dependencies:
npm install- Create a
config.envfile in the root directory with the following variables:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=3000
- Start the development server:
npm run devThe application will be available at http://localhost:3000
MONGO_URI: MongoDB connection stringJWT_SECRET: Secret key for JWT token generationPORT: Server port (default: 3000)
The application uses Socket.io to enable real-time bidirectional communication between users. This ensures that messages are delivered instantly and users receive immediate notifications.
PingMe is designed with user experience as a priority, featuring:
- Clear visual separation between conversations
- Date-based message grouping
- Intuitive search functionality
- Smooth animations and transitions
- Visual feedback for all interactions
Authentication is handled with JWT tokens and passwords are securely hashed using bcrypt. All API endpoints are protected to ensure data privacy and security.
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
Contributions are welcome. Please follow these steps:
- Fork the repository
- Create a feature branch
- Submit a pull request with detailed description
- Ensure all tests pass
For inquiries or collaboration opportunities, please reach out through: anshdevnagar@gmail.com
Developed by Ansh Dev Nagar





