Skip to content

Tushyent/ZeroTrace-H2TS-MIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Privacy-Preserving Campus Visitor Entry Management System

🚀 Overview

This project is a privacy-first visitor management system designed for large campuses (colleges, universities, corporate parks). It enables secure visitor entry, access control, and auditability without exposing personal data unnecessarily .

The system was built as part of H2TS 2.0 (Hack2TechSustain) , aligned with:

  • SDG 11 : Sustainable Cities & Communities
  • SDG 16 : Peace, Justice & Strong Institutions

🎯 Problem Solved

Traditional visitor entry systems:

  • Collect excessive personal data
  • Use manual registers
  • Lack uniform access control
  • Are prone to privacy leaks

Our Solution

  • Centralized policy enforcement
  • Role-based access areas
  • Token / QR-based entry
  • Admin-controlled approvals
  • Secure backend-driven operations

🧠 Key Features

👤 Visitor Side

  • Apply for campus entry via a clean web form
  • Select visit date, time, ID type, and required access areas
  • Track application status (Pending / Approved / Rejected)
  • Receive email notification on approval/rejection
  • Get QR-code based entry token after approval

🛂 Admin Dashboard

  • View all visitor requests in a structured table
  • Approve or reject requests
  • Manage access areas dynamically
  • Remove or add access areas using chip-based UI
  • Automated email + QR code generation

🔐 Security & Privacy

  • No database access from frontend
  • All Supabase operations via backend only
  • Controlled admin actions
  • Minimal data exposure
  • Audit-friendly design

🏗️ Tech Stack

frontend

  • React (Vite)
  • CSS (White theme, minimal UI)
  • Axios

backend

  • Node.js
  • Express.js
  • Supabase (PostgreSQL)
  • Nodemailer (email notifications)
  • QRCode (token generation)

📁 Project Structure

blastorz/
│
├── frontend/
│   ├── src/
│   │   ├── api/
│   │   │   └── api.js
│   │   ├── pages/
│   │   │   ├── visitor/
│   │   │   │   ├── Apply.jsx
│   │   │   │   └── apply.css
│   │   │   └── admin/
│   │   │       ├── Dashboard.jsx
│   │   │       └── admin.css
│   │   ├── App.jsx
│   │   └── main.jsx
│   └── package.json
│
├── backend/
│   ├── src/
│   │   ├── config/
│   │   │   ├── supabase.js
│   │   │   └── mail.js
│   │   ├── controllers/
│   │   │   ├── visitor.controller.js
│   │   │   └── admin.controller.js
│   │   ├── routes/
│   │   │   ├── visitor.routes.js
│   │   │   └── admin.routes.js
│   │   ├── app.js
│   │   └── server.js
│   └── package.json
│
└── README.md

🔄 Application Flow

  1. Visitor submits application
  2. backend stores request in Supabase (status: Pending)
  3. Admin reviews request
  4. Admin approves or rejects
  5. Email notification is sent
  6. On approval, QR token is generated
  7. Visitor uses QR for entry

⚙️ Setup Instructions

backend

cd backend
npm install
npm run dev

frontend

cd frontend
npm install
npm run dev

Open:

  • Visitor Apply Page → <span>http://localhost:5173/apply</span>
  • Admin Dashboard → <span>http://localhost:5173/admin</span>

🧪 Sample Visitor Payload

{
  "name": "Alice",
  "phone": "9876543210",
  "email": "[email protected]",
  "purpose": "Workshop",
  "visit_date": "2025-12-20",
  "in_time": "09:00",
  "out_time": "12:00",
  "id_type": "Aadhaar",
  "id_hash": "XXXX-XXXX-XXXX",
  "access_areas": ["CSE", "Library"]
}

🧾 Supabase Table Schema (visitor_requests)

  • id (UUID)
  • name
  • phone
  • email
  • purpose
  • visit_date
  • in_time
  • out_time
  • status
  • access_areas (array)
  • id_type
  • id_hash
  • id_verified
  • created_at

📌 Notes

  • UUID is used internally as QR token
  • Admin dashboard hides UUID from UI
  • Access areas are dynamically manageable

🏁 Conclusion

This project demonstrates a realistic, scalable, and privacy-conscious visitor management system suitable for campuses, enterprises, and secure facilities.

Built with simplicity, security, and sustainability in mind.


👨‍💻 Team: Blastorz 🏆 Event: Hack2TechSustain (H2TS 2.0)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors