KampusKart
A full-stack campus portal for MIT ADT University serving 400+ users across maps, events, lost and found, complaints, facilities, clubs, profiles, admin workflows, and real-time chat.
- Role
- Full-Stack Developer
- Year
- 2025
- Category
- Campus Management Platform
Tech stack
- React 18
- TypeScript
- Vite
- Tailwind CSS
- Material UI
- Node.js
- Express.js
- MongoDB
- Socket.IO
- JWT
- Google Maps API
- Jest
- Vitest
- GitHub Actions
Project cover

Architecture
KampusKart uses a React/Vite frontend on Netlify connected to a Node.js/Express backend on Render. MongoDB stores core application data, while Cloudinary manages uploaded images and attachments. JWT, Google OAuth, and Socket.IO handle authentication, secure access, and real-time chat.
Product gallery
A focused snapshot of the key screens and flows from this build.




The Challenge
Students and faculty often depend on disconnected sources for campus navigation, events, announcements, lost and found, complaints, facilities, club recruitment, and communication. KampusKart was built to centralize these workflows into one practical campus platform for MIT ADT University.
The Solution
I developed a full-stack campus portal with modules for campus maps, news, events, lost and found, complaints, facilities, club recruitments, user profiles, authentication, admin workflows, and global chat. The platform supports search, filters, image uploads, status tracking, role-based access, and responsive layouts for both desktop and mobile users.
Technical Implementation
The frontend uses React, TypeScript, Vite, Tailwind CSS, Material UI, feature-based modules, reusable components, and responsive UI patterns. The backend uses Express.js, MongoDB, Mongoose, JWT authentication, Google OAuth, Socket.IO, Cloudinary uploads, Nodemailer, validation middleware, rate limiting, and repository/service layers. Real-time chat supports messages, replies, emoji reactions, read receipts, file attachments, and search.
Outcome
KampusKart demonstrates my ability to build and organize a larger product with 8 major workflows, 58 REST/API endpoints, 400+ users, and 157 test cases covering authentication, validation, models, CRUD routes, UI behavior, and smoke tests.
What I learned
- Splitting a large campus product into feature modules early kept UI and API changes predictable.
- Designing Socket.IO events alongside REST resources reduced duplicate state between chat and profiles.
- Investing in automated tests for auth and uploads paid off when refactoring upload paths to Cloudinary.