Checker is a modern, efficient solution for managing employee attendance and time tracking. Built with cutting-edge technologies, it offers real-time updates and seamless scalability for growing businesses.
- 🔄 Real-time updates - no need to refresh!
- 🚀 Easily scalable for businesses of all sizes
- 🔐 Secure user authentication
- 🏢 Department management and user-department linking
- ⏰ Automatic check-out after configurable periods
- 🤖 System-generated check-ins for data population
- 🎨 Customizable through environment variables
- Next.js
- React
- InstantDB
- Deployment platform of choice: (Render/Vercel/Netlify/Heroku) etc.
The main check-in/check-out interface showing real-time employee status
Administrative dashboard for managing users, departments, and system settings
Visitors submit a tokenized pre-check request before arriving. Admin approves or rejects, and visitors receive QR + PDF for kiosk check-in.

Emergency fire drill checklist feature for safety compliance

View of recent employee check-ins and check-outs with timestamps
- Admin sends an email invite to a visitor (tokenized link valid for 24 hours).
- Visitor opens the link and fills out: who/whom, reason, and when (with optional details).
- Request is queued until an admin approves it.
- Admin approves or rejects:
- Approve: admin generates a visitor code and the visitor receives QR + PDF by email.
- Reject: visitor receives a rejection email (default message, with optional admin-provided message).
- Kiosk check-in: scanning the visitor code/QR completes check-in using the standard process.
- Clone the repository:
git clone https://github.com/ashlessscythe/checker.git
- Install dependencies:
cd checker
npm install
- Set up your environment variables:
-
Rename
.env.exampleto.env.local -
Update the variables as needed:
NEXT_PUBLIC_INSTANT_APP_ID=your_instant_app_id NEXT_PUBLIC_THRESHOLD_HOURS=14 NEXT_PUBLIC_ENABLE_AUTO_CLEANUP=false NEXT_PUBLIC_STALE_CHECKIN_CLEANUP_HOURS=18 NEXT_PUBLIC_CLEANUP_INTERVAL_MINUTES=20Visitor pre-check (email token) settings:
PRECHECK_TOKEN_SECRET="somethingsupersecret" NEXT_PUBLIC_APP_BASE_URL="http://127.0.0.1:3000"
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser to see the app in action!
Make sure to set your InstantDB URL in your deployment environment settings.
We welcome contributions! If you'd like to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please ensure your code adheres to the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Built with ❤️ by Some dude

