Modern, offline-capable attendance tracking system built with Next.js and Tauri.
- ✨ Attendance Tracking: Mark attendance via manual entry or QR code scanning
- 📊 Analytics Dashboard: View statistics, charts, and prefect search
- 💾 Offline-First: SQLite database with full offline support
- 🔄 Auto-Updates: Seamless updates via GitHub Releases
- 🎨 Modern UI: Beautiful, responsive design with dark mode
- 🔐 Secure: Admin panel with PIN protection
- 📦 Backup/Restore: Export and import data with
.bbakfiles
- Node.js 18+
- Rust (latest stable)
- Windows OS (currently Windows-only build)
1 Install from Release:
- Download the latest installer from Releases
- Run the
.exeor.msiinstaller - Launch "Attendance System"
- Build from Source:
# Clone repository git clone https://github.com/YOUR_USERNAME/attendance-system.git cd attendance-system-v2 # Install dependencies npm install # Run development server npm run tauri dev # Build production app npm run tauri build
-
Manual Entry:
- Enter prefect number
- Select role
- Click "Mark Attendance"
-
QR Code:
- Navigate to QR Scanner
- Scan prefect QR code
- Attendance marked automatically
Default PIN: apple
- View all attendance records
- Export data to CSV
- Search by prefect number
- View analytics and charts
- Bulk attendance entry
- Backup/restore data
- System monitoring
The app automatically checks for updates:
- On startup (after 3 seconds)
- Updates download in background
- One-click install and restart
- No manual downloads needed
# Install dependencies
npm install
# Run Next.js development server
npm run dev
# Run Tauri development app
npm run tauri dev
# Type checking
npx tsc --noEmit
# Build for production
npm run tauri build├── app/ # Next.js pages
├── components/ # React components
├── lib/ # Utilities and business logic
├── src-tauri/ # Rust backend
│ ├── src/ # Rust source code
│ ├── tauri.conf.json # Tauri configuration
│ └── Cargo.toml # Rust dependencies
└── .github/workflows/ # CI/CD automation
- Frontend: Next.js 13, React, TypeScript, TailwindCSS
- Desktop: Tauri v1
- Database: SQLite (via rusqlite)
- Charts: Chart.js, Recharts
- UI Components: Radix UI, shadcn/ui
- CI/CD: GitHub Actions
- Auto-Update Guide: Complete setup for auto-updates
- Walkthrough: Implementation details
- API Documentation: Backend commands reference
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
MIT License - see LICENSE file for details
For issues or questions:
- Open an issue on GitHub
- Check the Troubleshooting Guide
- Multi-platform support (macOS, Linux)
- Cloud sync (optional)
- Advanced analytics
- Export to PDF
- Custom themes
Built with ❤️ using Tauri and Next.js