CircuLink bridges the gap between students, faculty, and administration across all four RGUKT campuses β bringing circulars, innovation posts, real-time messaging, and campus analytics into one seamless platform.
CircuLink is a full-stack campus communication platform built specifically for the Rajiv Gandhi University of Knowledge Technologies (RGUKT). It replaces fragmented WhatsApp groups and notice boards with a single, secure, role-aware digital campus hub.
Whether you are a student sharing an innovation idea, an HOD approving a circular, or a Director monitoring campus-wide engagement β CircuLink has your workflow covered.
- Multi-stage approval workflow: Student/Faculty β HOD β Dean β Director
- Priority tags (URGENT, HIGH, NORMAL), category filters, and read receipts
- Students can submit circular ideas and suggestions β not just officials
- Emergency broadcast system for Directors and Security roles
- Students and faculty post innovations, projects, research, and ideas
- Like, comment, and endorse posts (faculty endorsements carry extra weight)
- Topic-based trending analytics updated in real time
- Rich text content with file/image attachments
- Real-time counts: Online users, Community Members, Active Posts
- Campus-wise and branch-wise engagement breakdown
- Top trending topics, leaderboard, and audit logs
- Export data as JSON for reporting (Director/Admin only)
- Dedicated dashboard experiences for Director, Security Officer, Dean of Academics, and Dean of Student Welfare
- Director can preview and supervise all authority dashboards from a dashboard switcher
- Security view is focused on security updates and emergency actions
- Student dashboard flow remains unchanged
| Role | Access Level |
|---|---|
| Student | Posts, Circulars, Community, Messaging |
| Faculty | + Endorsements, Circular Drafts |
| HOD | + Circular Approval (Level 1) |
| Dean | + Analytics, Audit Logs, Campus Reports |
| Director | + Emergency Broadcast, Full Export |
| Admin | Full Platform Access |
- Person-to-person chat within the platform (no external email)
- Photo and file sharing within the app only
- Live typing indicators via Socket.IO
- Points awarded for posts, comments, endorsements, and activity
- Level progression: Beginner β Explorer β Innovator β Pioneer β Legend
- Auto-badge awards for milestones
- Live leaderboard per campus and branch
- Instant search across all posts and circulars
- 300ms debounced search with animated dropdown results
- Hamburger navigation at mobile breakpoints
- Adaptive grid layouts for all screen sizes
- Google OAuth login with RGUKT domain validation
- Login supports College ID or Email (useful for higher authorities without ID-based login)
- JWT + Refresh Token rotation
- MFA (TOTP via Google Authenticator) for HOD, Dean, Director roles
- Forgot password flow with secure crypto token
| Campus | Email Domain |
|---|---|
| RK Valley | @rguktrkv.ac.in |
| Ongole | @rguktong.ac.in |
| Srikakulam | @rguktskl.ac.in |
| Nuzvid | @rguktnuz.ac.in |
Only valid RGUKT email addresses are accepted for student registration and Google Sign-In.
Frontend
- React 18, React Router v6
- Framer Motion (animations)
- Socket.IO Client
- Axios with JWT interceptors & auto token refresh
@react-oauth/googlefor Google Sign-In- React Hot Toast
Backend
- Node.js + Express.js
- MongoDB + Mongoose
- Socket.IO (real-time presence & messaging)
- JWT + Refresh Token auth
- Speakeasy (TOTP/MFA)
- Multer (file uploads)
- Helmet, CORS, Rate Limiting
- Node.js 18+
- MongoDB (local or Atlas)
- A Google OAuth Client ID
git clone https://github.com/sohelshaik-143/CircuLink.git
cd CircuLinknpm install
# Create a .env file with:
# MONGO_URI=your_mongodb_uri
# JWT_SECRET=your_jwt_secret
# REFRESH_TOKEN_SECRET=your_refresh_secret
# CLIENT_URL=http://localhost:3000cd frontend
npm install# Backend β port 5000
npm --prefix . run dev
# Frontend β port 3000
npm --prefix frontend startOpen http://localhost:3000 and sign in with your RGUKT college email.
CircuLink/
βββ api/
β βββ routes/ # Express route files (auth, posts, circulars, analytics...)
βββ controllers/ # Business logic (authController, etc.)
βββ middleware/ # JWT protect, role-based access control
βββ models/ # Mongoose schemas (User, Post, Circular, Message...)
βββ services/ # NotificationService, GamificationService
βββ uploads/ # Multer file destination
βββ server.js # Express + Socket.IO entry point
βββ frontend/
βββ src/
βββ api/ # Axios instance + all API modules
βββ components/ # Auth, Dashboard, Posts, Circulars, Analytics...
βββ context/ # AuthContext, NotificationContext
βββ App.jsx # Router and layout
- Zero predefined accounts β every user registers with their real RGUKT identity
- Community opt-in β students choose to join the campus community, not forced in
- Profile setup flow β new users complete their profile after first login; name and ID are read-only from college records
- Live online presence β see who's active on campus in real time across the community page
- Full audit trail β every significant action logged for compliance and transparency
Sohel Shaik Student, RGUKT github.com/sohelshaik-143
Built with dedication for the RGUKT community π
"Connecting Knowledge. Empowering Campus."