A social platform designed for college students to share content anonymously or publicly. Users can create posts, interact with others, and participate in unique features like the "drip" question game. The platform fosters campus engagement while maintaining user privacy when desired.
- JWT-based secure authentication
- Email verification via Nodemailer
- Password reset functionality
- Post Types: Confession/Question/Meme
- Content Options:
- Images/GIFs (via Cloudinary)
- Pollspublic
- Visibility: Anonymous or Public
- Comments on posts
- College-specific or global visibility
- Commenting system
- Daily random questions
- Tag friends in responses
- Shuffle answer options
- Activity feed and response inbox
- User search and profiles
- Follow/unfollow system
- Real-time notifications (Socket.io)
- College-specific feeds
- New user notifications
- Trending campus content
- Profile customization
- Password changes
- Account settings
| Technology | Purpose |
|---|---|
| React.js | Frontend framework |
| Redux | State management |
| Socket.io-client | Real-time updates |
| Axios | API requests |
| Cloudinary | Image uploads |
| Technology | Purpose |
|---|---|
| Node.js | Runtime environment |
| Express.js | Server framework |
| MongoDB | Database |
| Mongoose | ODM for MongoDB |
| JWT | Authentication |
| Nodemailer | Email services |
| Cloudinary | File storage |
| Socket.io | Real-time server |
- Node.js v16+
- MongoDB Atlas account or local MongoDB
- Cloudinary account
- Email credentials for Nodemailer
-
Clone the repository
git clone https://github.com/manusingh090/EchoHive.git cd EchoHive -
Backend Setup
cd backend npm install cp .env.example .env -
Frontend Setup
cd frontend npm install -
Environment Variables backend/.env:
JWT_SECRET=your_jwt_secret MONGODB_URI=mongodb+srv://your-mongo-uri CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret EMAIL_USER=your_email@example.com EMAIL_PASS=your_email_password
-
Running the Application
# In separate terminals: cd server && npm run dev cd client && npm start