Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

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

Repository files navigation

CampusConnect πŸš€ β€” Connected Campus Community Hub & Helpdesk

CampusConnect is a full-stack MERN (MongoDB, Express, React, Node.js) web application designed to streamline student communication, enhance event management, handle claims, and coordinate complaint resolutions within a campus.

The portal features role-based authorization (Student, Faculty, and Admin) and integrates highly interactive, Awwwards-inspired design aesthetics and 3D WebGL visualizations to deliver a premium user experience.


✨ Key Features

πŸ’» 3D Visuals & Awwwards-Inspired Interactions

  • 3D Particle Network (Hero Section): Built using vanilla Three.js in a responsive WebGL Canvas, a floating, rotating connection grid that reacts dynamically to mouse coordinate movement.
  • 3D Card Hover Tilt: Interactive 3D tilt transformations (using custom use3DTilt hook) bound to cards on the landing page, following mouse moves with smooth perspective physics.
  • Cursor Glow Backdrop: A soft, custom radial backdrop layer sitewide that follows cursor coordinate changes smoothly.
  • SVG Scroll Progress: A top-anchored indicator bar that fills from 0% to 100% as the viewport scrolls.
  • Shimmer Skeletons: Replaced standard loading circles with modern shimmering wireframe components across discussion boards, event cards, and lost listings.

πŸ‘₯ User Modules & Authentication

  • Role-Based Auth (JWT): Dedicated views and control states for Students, Faculty, and Administrators.
  • Discussion Forum: Upvoting entries, adding replies/comments, search keyword queries, and marking items as resolved.
  • Campus Events Calendar: Live scheduling grids with custom date listings and an event creation modal.
  • Lost & Found Tracker: Report missing belongings, claim items with alert popups, and toggle list states.
  • Complaints Portal: Allows students to report issues anonymously (generating safe, random Tracking IDs to search and check status in real-time).
  • Admin Moderator Dashboard: Counters aggregate DB totals in real-time. Admins can view/update user permissions, delete entries, and respond to complaints directly.

πŸ› οΈ Tech Stack

  • Frontend: React 18, React Router v6, TailwindCSS, Three.js, React Icons
  • Backend: Node.js, Express, Nodemon, Express Async Handler
  • Database: MongoDB (Mongoose Schema Modelling)
  • Auth: JSON Web Tokens (JWT) + Bcrypt Password Hashing

πŸ“ Project Structure

campus-connect/
β”œβ”€β”€ backend/                  # Express API Server
β”‚   β”œβ”€β”€ config/               # DB connections & variables
β”‚   β”œβ”€β”€ controllers/          # Mongoose database query controllers
β”‚   β”œβ”€β”€ middleware/           # Protect routes, role validations, error handlers
β”‚   β”œβ”€β”€ models/               # MongoDB models (User, Forum, Event, LostFound, Complaint)
β”‚   β”œβ”€β”€ routes/               # API endpoints registration
β”‚   └── server.js             # Express startup file
β”œβ”€β”€ frontend/                 # Vite + React Client
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/       # Reusable layouts & routing wrappers
β”‚   β”‚   β”œβ”€β”€ context/          # Auth Context State Providers
β”‚   β”‚   β”œβ”€β”€ hooks/            # use3DTilt hook
β”‚   β”‚   β”œβ”€β”€ pages/            # View pages (Forum, Events, LostFound, Dashboard, etc.)
β”‚   β”‚   β”œβ”€β”€ index.css         # Global Tailwind classes & shimmer keyframe definitions
β”‚   β”‚   └── main.jsx          # Entry point
β”‚   β”œβ”€β”€ package.json          # React configuration & dependencies (Vite, Three.js)
β”‚   └── vite.config.js
β”œβ”€β”€ .env                      # API Port and Database URI configuration
β”œβ”€β”€ .gitignore                # Protects modules and secrets from commits
└── README.md

πŸš€ Setup & Installation

1. Prerequisites

Ensure you have the following installed on your machine:

2. Installation

  1. Clone the repository:
    git clone https://github.com/your-username/campusconnect.git
    cd campusconnect
  2. Install all dependencies concurrently for both backend and frontend:
    npm run install-all

3. Environment Variables

Create a file named .env in the root directory and configure the variables:

NODE_ENV=development
PORT=5000
MONGO_URI=mongodb://localhost:27017/campusconnect
JWT_SECRET=your_jwt_secret_phrase

(Note: If using MongoDB Atlas, replace MONGO_URI with your cluster URL).

4. Running the App

Start both the API backend server and the frontend client concurrently with hot reloading:

npm run dev

πŸ”Œ API Endpoints Reference

Authentication & Users

  • POST /api/users - Register a student
  • POST /api/users/login - Authenticate & obtain JWT
  • GET /api/users/profile - Fetch current user detail
  • GET /api/users/stats - Fetch database statistics counts (Admin only)

Discussion Forum

  • GET /api/forum - Query posts with search keywords & pagination
  • POST /api/forum - Submit a new topic discussion
  • PUT /api/forum/:id/upvote - Upvote a forum topic
  • POST /api/forum/:id/replies - Comment on a topic discussion
  • PUT /api/forum/:id/resolve - Toggle resolve flag

Campus Events

  • GET /api/events - Get event listings
  • POST /api/events - Submit a new event (Faculty / Admin only)
  • DELETE /api/events/:id - Remove an event (Faculty / Admin only)

Lost & Found

  • GET /api/lost-found - Fetch lost/found reports
  • POST /api/lost-found - File a new lost/found report item
  • PUT /api/lost-found/:id/resolve - Toggle item as resolved/recovered

Complaints

  • POST /api/complaints - File a complaint (supports anonymous submission)
  • GET /api/complaints/track/:trackingId - Query a ticket status using Tracking ID
  • PUT /api/complaints/:id - Update status or attach comments (Admin only)

About

Full-stack MERN campus community hub featuring Awwwards-inspired 3D Three.js WebGL visuals, role-based auth (Student/Faculty/Admin), discussion forums, event calendars, lost & found tracker, and an anonymous complaints portal with real-time tracking.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages