A campus collaboration platform for students to request help, share resources, and communicate with peers.
CampusConnect helps university students connect and collaborate by providing three core features:
- Request System - Post help requests (study partners, tutoring, materials) with urgency levels and get responses from peers
- Resource Sharing - Upload and download study materials (PDFs, notes, assignments) with likes and downloads tracking
- Real-time Chat - Direct and group messaging with emoji support
Built using the MERN stack (MongoDB, Express.js, React, Node.js) with JWT authentication and responsive design.
For Students Needing Help:
- Create a request specifying what you need (tutoring, study partner, materials)
- Set urgency level (low/medium/high) and category
- Receive responses from fellow students with messages or file attachments
- Start a direct chat with helpers
For Students Offering Help:
- Browse the dashboard to see pending requests from peers
- Filter by category, urgency, or search keywords
- Respond with text or upload files
- Track your contribution stats
Resource Sharing:
- Upload study materials, notes, or assignments
- Organize with categories and tags
- Download resources shared by others
- Like and bookmark helpful content
Communication:
- Create direct (1-on-1) or group chats
- Search for users by email to start conversations
- Messages update automatically (polling every second)
- Add emojis to messages
Frontend: React, Vite, TailwindCSS, shadcn/ui components
Backend: Node.js, Express.js, JWT authentication, Multer (file uploads)
Database: MongoDB Atlas with Mongoose ODM
Key Features: Bcrypt password hashing, email-based password reset, responsive design
Users - Store student profiles (name, email, university, major) with hashed passwords
Posts - Track uploaded resources with author, file URL, likes, views, downloads
Requests - Help requests with category, urgency, status, and responses array
Chats - Conversations with participants, messages (embedded), and chat type (direct/group)
Relationships: Posts/Requests/Chats reference User IDs; participant names are denormalized for performance
# Clone and install
git clone https://github.com/aayush-sudo/CampusConnect.git
cd CampusConnect
# Backend setup
cd CampusConnect_Backend
npm install
# Add .env file with MONGODB_URI, JWT_SECRET, etc.
npm run dev # Runs on port 5000
# Frontend setup (new terminal)
cd CampusConnect_Frontend
npm install
# Add .env with VITE_API_URL=http://localhost:5000/api
npm run dev # Runs on port 8080https://campus-connect-theta-ruddy.vercel.app/
K.J. Somaiya School of Engineering | Computer Engineering Dept. | FSDL Sem V (2025)
Aayush Hardas - aayush.hardas@somaiya.edu
Aditya Sontakke - aditya.sontakke@somaiya.edu
Anirudh Navdhuri - anirudh.navuduri@somaiya.edu