Skip to content

An advanced web-based attendance management system built for the Mahinda Rajapaksha College Prefect Board. This system allows prefects to manage attendance efficiently using QR Code Scanning, with data stored securely in local storage, and includes a powerful Admin Dashboard with real-time analytics.

Notifications You must be signed in to change notification settings

RishBroProMax/attendance-system

Repository files navigation

Attendance System v2

Modern, offline-capable attendance tracking system built with Next.js and Tauri.

Features

  • 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 .bbak files

Quick Start

Prerequisites

  • Node.js 18+
  • Rust (latest stable)
  • Windows OS (currently Windows-only build)

Installation

1 Install from Release:

  • Download the latest installer from Releases
  • Run the .exe or .msi installer
  • Launch "Attendance System"
  1. 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

Usage

Marking Attendance

  1. Manual Entry:

    • Enter prefect number
    • Select role
    • Click "Mark Attendance"
  2. QR Code:

    • Navigate to QR Scanner
    • Scan prefect QR code
    • Attendance marked automatically

Admin Panel

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

Auto-Updates

The app automatically checks for updates:

  • On startup (after 3 seconds)
  • Updates download in background
  • One-click install and restart
  • No manual downloads needed

Development

# 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

Project Structure

├── 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

Tech Stack

  • 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

Documentation

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

MIT License - see LICENSE file for details

Support

For issues or questions:

Roadmap

  • Multi-platform support (macOS, Linux)
  • Cloud sync (optional)
  • Advanced analytics
  • Export to PDF
  • Custom themes

Built with ❤️ using Tauri and Next.js

About

An advanced web-based attendance management system built for the Mahinda Rajapaksha College Prefect Board. This system allows prefects to manage attendance efficiently using QR Code Scanning, with data stored securely in local storage, and includes a powerful Admin Dashboard with real-time analytics.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •