A secure and anonymous chat platform built using Spring Boot, React.js, and MongoDB, allowing users to communicate without revealing their identity.
The system ensures privacy, message encryption, and seamless real-time chatting through WebSockets.
🚀 Project Overview
The Anonymus Chat Portal is designed for users who want to communicate without revealing their personal identity.
It allows users to join chat sessions, send and receive messages anonymously, and experience a safe communication environment.
This project combines the power of:
- Spring Boot (Backend) for REST API, WebSocket, and MongoDB integration.
- React.js (Frontend) for responsive, real-time UI.
- MongoDB for secure message and user data storage.
✨ Features
✅ User registration and login with email verification (OTP-based).
✅ Anonymous chat sessions (no usernames displayed in chat).
✅ Secure message storage using MongoDB.
✅ WebSocket integration for real-time messaging.
✅ Environment variable support using .env file.
✅ RESTful API endpoints for chat, users, and sessions.
✅ CORS enabled for frontend-backend communication.
⚙️ Tech Stack
Frontend: React.js, HTML, CSS, JavaScript
Backend: Spring Boot, Java 17, WebSocket
Database: MongoDB
Authentication: OTP-based Email verification
Environment Management: Dotenv
Build Tool: Maven
📁 Project Structure
Anonymus/
├── Backend/
├── Frontend/
└── README.md
Backend
Backend/
├── src/
│ ├── main/
│ │ ├── java/com/Anonymus_Backend/
│ │ │ ├── controller/ # REST Controllers
│ │ │ ├── model/ # Entity classes
│ │ │ ├── service/ # Business logic
│ │ │ ├── repository/ # MongoDB Repositories
│ │ │ ├── config/ # Config files (CORS, EnvConfig, WebSocket)
│ │ │ └── BackendApplication.java # Spring Boot main file
│ │ └── resources/
│ │ ├── application.properties
│ │ ├── static/
│ │ └── templates/
│ └── test/
└── pom.xml
Frontend
Frontend/
├── src/
│ ├── components/ # React components
│ ├── pages/ # UI pages (Login, Chat, Home)
│ ├── services/ # API services
│ ├── App.js # Main routing logic
│ └── index.js # Entry point
├── public/
│ ├── index.html
│ └── favicon.ico
└── package.json🛠️ Setup Instructions
git clone https://github.com/yegireddypavan/Anonymus.git
cd Anonymuscd Backend
# Add your environment variables in .env
# Example .env file for Anonymus Project
MONGODB_URI=your_mongodb_connection_string
MONGODB_DATABASE=anonymus_chat
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
FRONTEND_URL=http://localhost:5173
mvn spring-boot:runcd Frontend
npm install
npm start
# Add your environment variables in .env
VITE_BASE_URL=http://localhost:8080Frontend: http://localhost:3000
Backend: http://localhost:8080
📧 Contact
Authors:
Pavan Yegireddy
Ashok Bavireddy
Email:
📩 pavany3712@gmail.com
📩 ashubavireddy2015@gmail.com
GitHub:
🔗 yegireddypavan
🔗 notashock