Sansoms @ Orams Refurbishment Project
A simple, multi-device visitor sign in/out system with QR code support.
- ✅ Multi-device access (tablets, phones, computers)
- ✅ QR code for easy sign-in
- ✅ Real-time visitor tracking
- ✅ CSV export for records
- ✅ No database required (uses JSON file)
-
Install Node.js (if not already installed)
- Download from: https://nodejs.org/
- Choose the LTS version
-
Extract these files to a folder
-
Open Terminal/Command Prompt in that folder
-
Install dependencies:
npm install
-
Start the server:
npm start
-
Access the system:
- On the same computer: http://localhost:3000
- From other devices: http://YOUR-COMPUTER-IP:3000
To find your computer's IP address:
- Windows: Open Command Prompt, type
ipconfig, look for "IPv4 Address" - Mac: System Preferences → Network → look for IP address
- Linux: Type
ip addr showin terminal
Once the server is running:
- Find your server's IP address (e.g., 192.168.1.100)
- On any device on the same WiFi network, open a browser and go to:
http://192.168.1.100:3000 - Print the QR code (from the QR Code tab) and post it at the site entrance
For a more permanent solution, you can deploy this to a free cloud service:
- Create a free account at https://render.com
- Click "New +" → "Web Service"
- Connect your GitHub repository (upload these files to GitHub first)
- Configure:
- Build Command:
npm install - Start Command:
npm start
- Build Command:
- Deploy - you'll get a permanent URL like
https://your-app.onrender.com
- Create account at https://railway.app
- Click "New Project" → "Deploy from GitHub"
- Select your repository
- Railway auto-detects Node.js and deploys
- Get your permanent URL
server.js- Node.js backend serverpublic/index.html- Frontend web interfacepackage.json- Dependenciesvisitors.json- Data storage (auto-created)
All visitor data is stored in visitors.json in the same folder as the server. This file is automatically created and updated.
To backup your data, simply copy the visitors.json file.
- This is designed for internal network use
- For internet-facing deployment, consider adding password protection
- Data is stored in plain text - suitable for visitor logs, not sensitive information
Can't access from other devices?
- Make sure all devices are on the same WiFi network
- Check firewall settings allow port 3000
- Verify you're using the correct IP address
Server won't start?
- Make sure port 3000 isn't already in use
- Check Node.js is properly installed
- Run
npm installagain
QR code not working?
- Make sure the URL in the QR code matches your server's IP
- If you change networks, you'll need to regenerate the QR code
For issues or questions, contact your IT department or the person who set this up.
Built for Sansoms - Orams Refurbishment Project