Welcome to VMS, a powerful and modern full-stack solution designed to streamline visitor management with efficiency, security, and scalability. Built with Node.js, Express, and React, and enhanced with Cloudinary for media handling, VMS offers a seamless experience for registering visitors, generating QR code badges, sending email notifications, and analyzing visitor data. Whether you're managing visitors for an office, event, or facility, VMS is your all-in-one platformβfast, secure, and future-ready.
Streamlined check-in/check-out with a user-friendly React interface.
Capture visitor details (name, contact, purpose) and store securely in MongoDB.
Generate QR code badges for secure access using qrcode.react.
Schedule visitor appointments and assign hosts with automated workflows.
Send email notifications to hosts and visitors via @emailjs/nodejs or nodemailer.
Real-time tracking of visitor arrivals and departures.
Generate detailed visitor logs and export them as CSV (json2csv) or PDF (jspdf, jspdf-autotable).
Visualize visitor trends with interactive charts using recharts.
Download reports and badges using file-saver and jszip.
Upload and manage visitor photos securely with Cloudinary.
Optimize and transform images for badges or profiles effortlessly.
Modern, responsive frontend built with React and Material-UI (@mui/material).
Enhanced user experience with notifications (react-toastify) and alerts (sweetalert2).
Date handling with @mui/x-date-pickers and dayjs for appointment scheduling.
Backend powered by Express.js and MongoDB for high-performance data handling.
Secure authentication with jsonwebtoken and password hashing via bcryptjs.
Session management with express-session and connect-mongo.
Node.js (v16 or higher)
npm (v8 or higher)
MongoDB (local or cloud instance, e.g., MongoDB Atlas)
A Cloudinary Account (with API credentials for media uploads)
A JWT Secret Key (for authentication)
Email service credentials (for @emailjs/nodejs or nodemailer)
Clone the Repository
git clone https://github.com/RDL-FULLSTACK/VMS
cd VMS/backend
Install Dependencies
npm install
Set Up Environment VariablesCreate a .env file in the backend directory and add:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
EMAILJS_API_KEY=your_emailjs_api_key (optional, for EmailJS)
NODEMAILER_CONFIG=your_nodemailer_config (optional, for Nodemailer)
Run the Backend Server
npm start
The server will launch at http://localhost:5000.
Navigate to the Frontend Directory
cd VMS/frontend
Install Dependencies
npm install
Run the Frontend Server
npm start
The frontend will launch at http://localhost:3000.
We welcome contributions from the community! To contribute:
The following individuals have contributed to making VMS a reality:
| Name | GitHub Link | Role |
|---|---|---|
| Ashish Goswami | https://github.com/Ashish6298 | Frontend, Backend |
| Abhishek Vijay Tandel | https://github.com/Abhishek1111333 | Frontend, UI/UX Designer |
| Varun A L | https://github.com/varun-al | UI/UX Designer, Frontend |
| Afrhan | https://github.com/AfrhanSYED | Frontend |