A Modern Social Media Platform for Anonymous Sharing
3rd Semester College Project
Softwarica College of IT and E-commerce, Dillibazar
- Kamlesh Kumar Sah - backend developer & UX Designer
- Sabja Shrestha - Frontend Developer & UI/UX Designer
- Nihar Regmi - Project Lead & Decumentation
- Sarjak - comming soon
Whisper Box is a modern social media platform that allows users to share their thoughts, ideas, and experiences in a safe and welcoming environment. Built with React and Node.js, this platform focuses on community engagement while maintaining user privacy and security.
- Create a user-friendly social media platform
- Implement secure authentication and authorization
- Provide real-time interactions (posts, comments, voting)
- Ensure responsive design for all devices
- Maintain data security and user privacy
- User Registration & Login
- Email Verification with OTP
- Password Reset Functionality
- Secure JWT Token Management
- Admin Panel Access
- Create and Share Posts with images and hashtags
- Interactive Voting System (upvote/downvote)
- Comment System with real-time updates
- Save Posts for later viewing
- Advanced Search & Filtering
- User Profile Management
- Email Verification for account activation
- Rate Limiting to prevent spam
- Input Validation and sanitization
- Secure File Upload with size restrictions
- Admin Controls for user management
Clean and modern landing page with clear call-to-action
Simple and intuitive registration process
Secure login with email verification
Complete email verification workflow with OTP - Shows the entire process from registration to email confirmation
Main dashboard showing posts with search and filter options
Interactive comment system for community engagement
Secure password reset functionality
Professional footer with contact information and guidelines
- React 18 - Modern UI framework
- React Router DOM - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Beautiful icon library
- Vite - Fast build tool and development server
- Node.js - JavaScript runtime
- Express.js - Web application framework
- PostgreSQL - Relational database
- Sequelize - ORM for database management
- JWT - JSON Web Tokens for authentication
- Multer - File upload handling
- Nodemailer - Email service integration
- bcrypt - Password hashing
- CORS - Cross-origin resource sharing
- Helmet - Security middleware
- Morgan - HTTP request logger
WHISPER_BOX/
βββ backend/ # Backend API server
β βββ config/ # Database configuration
β βββ controllers/ # Route controllers
β βββ middleware/ # Custom middleware
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ services/ # Business logic
β βββ server.js # Main server file
βββ src/ # Frontend source code
β βββ components/ # Reusable components
β βββ contexts/ # React contexts
β βββ pages/ # Page components
β βββ services/ # API services
β βββ utils/ # Utility functions
βββ public/ # Static assets
βββ images/ # Project screenshots
- Node.js (v16 or higher)
- PostgreSQL database
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/Visnusah/WHISPER_BOX.git cd WHISPER_BOX -
Install Frontend Dependencies
npm install
-
Install Backend Dependencies
cd backend npm install -
Set up Environment Variables Create
.envfile in the backend directory:DB_HOST=localhost DB_PORT=5432 DB_NAME=whisper_box DB_USER=your_username DB_PASSWORD=your_password JWT_SECRET=your_jwt_secret EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password
-
Set up Database
cd backend npm run setup-db
-
Start Backend Server
cd backend npm start -
Start Frontend Development Server
npm run dev
-
Access the Application
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:3000
- Frontend:
Watch our email verification system in action:
https://github.com/user-attachments/assets/your-video-id
The video shows the complete OTP verification process from registration to email confirmation
POST /api/auth/register- User registrationPOST /api/auth/login- User loginPOST /api/auth/verify-email- Email verificationPOST /api/auth/forgot-password- Password reset requestPOST /api/auth/reset-password- Password reset confirmation
GET /api/posts- Get all postsPOST /api/posts- Create new postPUT /api/posts/:id- Update postDELETE /api/posts/:id- Delete post
POST /api/comments- Add commentPOST /api/votes- Vote on postGET /api/saved-posts- Get saved posts
- Modern UI/UX with clean and intuitive design
- Responsive Layout that works on all devices
- Consistent Color Scheme using Tailwind CSS
- Smooth Animations for better user experience
- Professional Typography for readability
- Password Hashing using bcrypt
- JWT Token Authentication for secure sessions
- Input Validation to prevent injection attacks
- File Upload Security with type and size restrictions
- Rate Limiting to prevent abuse
- CORS Configuration for secure cross-origin requests
- User registration and login flows
- Email verification process
- Post creation and interaction
- Comment system functionality
- File upload security
- Responsive design across devices
- Valid and invalid user inputs
- Email verification with OTP
- Password reset functionality
- File upload with different formats
- User permission levels
- Email service requires internet connection for OTP
- File upload limited to 5MB per image
- PostgreSQL required for database operations
- Real-time notifications using WebSocket
- Mobile application development
- Advanced search with filters
- User reputation system
- Content moderation tools
Through this project, our team gained valuable experience in:
- Full-Stack Development with React and Node.js
- Database Design and management with PostgreSQL
- Authentication Systems and security best practices
- RESTful API development and documentation
- Version Control using Git and GitHub
- Team Collaboration and project management
- UI/UX Design principles and implementation
Course: Web Development & Database Management
Semester: 3rd Semester
Institution: Softwarica College of IT and E-commerce
Location: Dillibazar, Kathmandu
Academic Year: 2024-2025
This project demonstrates our understanding of modern web development technologies and serves as a practical application of concepts learned in our coursework.
This project is licensed under the MIT License - see the LICENSE file for details.
For any queries regarding this project:
- Email: Contact Us
- GitHub: WHISPER_BOX Repository
- College: Softwarica College of IT and E-commerce, Dillibazar
- Softwarica College for providing the platform to learn and grow
- Faculty Members for their guidance and support
- React & Node.js Communities for excellent documentation
- Open Source Contributors for the libraries and tools used
Built with β€οΈ by Team Whisper Box
Softwarica College of IT and E-commerce | 3rd Semester Project