Skip to content

mioNacs/SITCoders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

309 Commits
 
 
 
 
 
 

Repository files navigation

📘 SitCoders – College Community Forum

MERN Stack License Status

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.


📁 Table of Contents

  1. Overview
  2. Features
  3. Tech Stack
  4. API Overview
  5. Project Structure
  6. Getting Started
  7. Roadmap
  8. Team

💂 Overview

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.


🚀 Features

🔐 Authentication & Security

  • Email + OTP verification
  • JWT-based authentication (HTTP-only cookies)
  • Role-based access: Student, Admin, Super Admin
  • Admin approval for new users

📝 Content & Interaction

  • 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

🛠 Admin Tools

  • Approve/reject user registrations
  • Manage posts & accounts
  • Assign admin roles
  • View user analytics

🎨 UI/UX

  • Responsive design with Tailwind CSS
  • Real-time updates
  • URL-based navigation & pagination

🌐 Tech Stack

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

🔌 API Overview

Users

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 avatar

Posts

GET    /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 post

Comments

POST   /api/comments/create/:postId  # Add comment
POST   /api/comments/reply/:id       # Reply to comment

Admin

GET    /api/admin/unverified-users   # List unverified users
PUT    /api/admin/verify-user/:id    # Verify user

📁 Project Structure

SITCoders/
├── backend/       # API controllers, models, routes, middleware
├── frontend/      # React application
└── uploads/       # Temporary file storage

⚡ Getting Started

Prerequisites

  • Node.js ≥16
  • MongoDB
  • Cloudinary account
  • SMTP email service (e.g., Gmail)

Installation

# 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 dev

Backend .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

📌 Roadmap

  • Real-time notifications (WebSocket)
  • Advanced search
  • Mobile app version
  • Cloud deployment (AWS/Vercel)
  • Unit testing

👨‍💻 Team

Built with ❤️ by:

  • Navneet Raj – Lead Developer
  • Avesh Raj Singh – Lead Developer

"Code together. Learn together." – SitCoders Team


About

The repo is build for my college students where student can share their achievement and problems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors