A comprehensive web-based entry/exit management system designed for college campuses. DigiGate streamlines student attendance and movement logging at gates and hostels using QR code technology and role-based access control.
- Dashboard: View personal entry/exit logs and history.
- QR Code Generation: Generate unique QR codes for seamless entry/exit scanning.
- Profile Management: View student details and hostel information.
- Scanner & Manual Entry: Scan student QR codes or manually log entry/exit events.
- Live Feed: Real-time view of recent logs at the assigned location.
- Location Management: Update current guard station/location.
- User Management: Full CRUD (Create, Read, Update, Delete) operations for Students, Guards, and Admins.
- Location Management: Manage campus locations (Gates, Hostels, etc.).
- Log Monitoring: View and manage all entry/exit logs across the campus.
- Statistics: Real-time stats on student and guard counts.
Frontend:
- Framework: React (v19)
- Build Tool: Vite
- Routing: React Router (v7)
- Styling: CSS
- QR Utilities:
html5-qrcode,qrcode
Backend:
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL
- Authentication: Session-based (
express-session,cookie-parser) - Security:
bcrypt(password hashing),cors
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher recommended)
- PostgreSQL
git clone https://github.com/abhay-006/Digigate-web.git
cd Digigate-webNavigate to the root directory and install dependencies:
npm installNavigate to the Backend directory and install dependencies:
cd Backend
npm install- Create a PostgreSQL database.
- Use the
Backend/schema.sqlfile to create the necessary tables.psql -U your_username -d your_database_name -f Backend/schema.sql
Create a .env file in the Backend directory with the following variables:
# Database Configuration
host=localhost
DB_PORT=5432
database=your_database_name
user=your_db_username
password=your_db_password
# Server Configuration
PORT=3000
Frontend_URL=http://localhost:5173
NODE_ENV=developmentNote: Update
Frontend_URLif your frontend runs on a different port.
Open a terminal, navigate to the Backend folder, and run:
node server.jsThe server will start on http://localhost:3000.
Open a new terminal, navigate to the project root, and run:
npm run devThe React app will likely start on http://localhost:5173.
- Admin Login: Log in as an admin to populate the database with Students, Guards, and Locations.
- Student Login: Students use their
Roll NoandPasswordto access their dashboard and QR code. - Guard Login: Guards use their
Guard IDandPasswordto access the scanning interface.
This project is licensed under the ISC License.