Skip to content

Latest commit

Β 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ CircuLink

The Official Campus Intelligence & Communication Platform for RGUKT

React Node.js MongoDB Socket.IO License

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.


✨ What is CircuLink?

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.


πŸš€ Features

πŸ“‹ Smart Circular Management

  • 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

πŸ’‘ Innovation Feed

  • 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

πŸ“Š Live Analytics Dashboard

  • 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)

🧭 Role-Specific Dashboard Environments

  • 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-Based Access Control

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

πŸ’¬ Real-Time Encrypted Messaging

  • Person-to-person chat within the platform (no external email)
  • Photo and file sharing within the app only
  • Live typing indicators via Socket.IO

πŸ† Gamification

  • 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

πŸ” Global Search

  • Instant search across all posts and circulars
  • 300ms debounced search with animated dropdown results

πŸ“± Fully Mobile Responsive

  • Hamburger navigation at mobile breakpoints
  • Adaptive grid layouts for all screen sizes

πŸ” Secure Authentication

  • 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

πŸ›οΈ Supported Campuses

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.


πŸ› οΈ Tech Stack

Frontend

  • React 18, React Router v6
  • Framer Motion (animations)
  • Socket.IO Client
  • Axios with JWT interceptors & auto token refresh
  • @react-oauth/google for 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

⚑ Getting Started

Prerequisites

  • Node.js 18+
  • MongoDB (local or Atlas)
  • A Google OAuth Client ID

1. Clone the Repository

git clone https://github.com/sohelshaik-143/CircuLink.git
cd CircuLink

2. Backend Setup

npm 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:3000

3. Frontend Setup

cd frontend
npm install

4. Run the App

# Backend β€” port 5000
npm --prefix . run dev

# Frontend β€” port 3000
npm --prefix frontend start

Open http://localhost:3000 and sign in with your RGUKT college email.


πŸ“ Project Structure

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

🌟 What Makes It Different

  • 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

πŸ‘€ Author

Sohel Shaik Student, RGUKT github.com/sohelshaik-143


Built with dedication for the RGUKT community πŸŽ“

"Connecting Knowledge. Empowering Campus."

About

πŸŽ“ CircuLink β€” A modern campus communication & innovation platform for RGUKT. Real-time circulars, student innovation posts, analytics, gamification, and secure messaging. Built with React, Node.js, MongoDB & Socket.IO.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages