A production-ready student community forum built with the MERN stack, designed for collaboration, knowledge sharing, and engagement within college communities. ======= The official student forum platform for our college community.
SitCoders is a web-based forum designed for students to post, discuss, and collaborate. It includes authentication, role-based access, post & comment systems, and a powerful admin dashboard — all in a modern, responsive interface.
- Email + OTP verification
- JWT-based authentication (HTTP-only cookies)
- Role-based access: Student, Admin, Super Admin
- Admin approval for new users
- Rich-text posts with Markdown & image uploads (Cloudinary)
- Tag-based filtering & shareable post URLs
- Nested comments & replies
- User profiles with avatars, bio, and post history
- Approve/reject user registrations
- Manage posts & accounts
- Assign admin roles
- View user analytics
- Responsive design with Tailwind CSS
- Real-time updates
- URL-based navigation & pagination
Frontend:
- React 19, React Router 7
- Tailwind CSS, Axios, DOMPurify, Marked
Backend:
- Node.js, Express 5
- MongoDB & Mongoose
- JWT, Bcrypt
- Multer & Cloudinary
- Nodemailer, Node-cron
Development Tools:
- Git & GitHub, ESLint, Nodemon, Vite
POST /api/users/register # Register with email & OTP
POST /api/users/verify-otp # Verify OTP
POST /api/users/login # Login
PUT /api/users/profile # Update profile
POST /api/users/upload-avatar # Upload avatarGET /api/posts/get-posts # Get posts (pagination, filter)
POST /api/posts/create-post # Create post
PUT /api/posts/:postId # Edit post
DELETE /api/posts/:postId # Delete postPOST /api/comments/create/:postId # Add comment
POST /api/comments/reply/:id # Reply to commentGET /api/admin/unverified-users # List unverified users
PUT /api/admin/verify-user/:id # Verify userSITCoders/
├── backend/ # API controllers, models, routes, middleware
├── frontend/ # React application
└── uploads/ # Temporary file storage
- Node.js ≥16
- MongoDB
- Cloudinary account
- SMTP email service (e.g., Gmail)
# Clone repo
git clone <repository-url>
cd SITCoders
# Backend setup
cd backend
npm install
npm run dev
# Frontend setup
cd frontend
npm install
npm run devBackend .env Example
MONGO_URI=your_mongodb_connection
ACCESS_TOKEN_SECRET=your_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
EMAIL_USER=your_email
EMAIL_PASS=your_app_password
- Real-time notifications (WebSocket)
- Advanced search
- Mobile app version
- Cloud deployment (AWS/Vercel)
- Unit testing
Built with ❤️ by:
- Navneet Raj – Lead Developer
- Avesh Raj Singh – Lead Developer
"Code together. Learn together." – SitCoders Team