mavis-creator/blockchain-attendance-system

A secure, blockchain-verified attendance management system with device fingerprinting, IP tracking, and log-based storage (no SQL required)

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:project

pkg:composer/mavis-creator/blockchain-attendance-system

v2.0.0 2025-11-26 11:37 UTC

This package is auto-updated.

Last update: 2025-11-26 14:24:17 UTC


README

Blockchain-Secured Attendance System

🛡 Blockchain-Secured Log-Based Attendance System

A secure, IP-fenced, blockchain-verified attendance management system that does not use SQL — all records are stored in `.log` files and chained with blockchain-style hashing.

PHP License Log Files

🚀 Features

👤 Client/User

  • Check-in / Check-out attendance
    Check-in Check-out
  • Create support tickets
    Support Tickets
  • View announcements
    View Announcements

🛠 Admin

  • Enable/Disable check-in and check-out modes
    Enable/Disable Modes
  • View all logs (valid & failed attempts)
    Valid Logs Failed Logs
  • Email log exports with advanced filtering:
    • Multi-file selection (date & course groups)
    • Filter by date range, time range, course
    • Select specific columns to include
    • Export as CSV or PDF
    • Send individual files or grouped batches
  • Create, edit, and delete courses
    Manage Courses
  • Set active courses for attendance
    Set Active Courses
  • Make manual attendance entries
    Manual Attendance
  • Unlink fingerprints from users
    Unlink Fingerprints
  • View Support Tickets
    View Support Tickets
  • Post announcements
    Post Announcements
  • Blockchain verification of logs
    Blockchain Verification

🔒 Security Highlights

  • Input sanitization (filter_var & trimming on all POST data)
  • IP logging and device fingerprinting to prevent spoofing
  • Duplicate prevention (same matric or IP cannot perform the same action twice per day)
  • Checkout restriction — cannot checkout without a prior check-in
  • Invalid attempts log for all failed check-ins/outs
  • Blockchain log chaining to make tampering detectable
  • Optional Polygon integration for decentralized hash storage

📦 Installation

Via Composer (Recommended)

composer create-project mavis-creator/blockchain-attendance-system attendance-system
cd attendance-system
cp .env.example .env
# Edit .env with your configuration
php -S localhost:8000

Manual Installation

git clone https://github.com/MAVIS-creator/Blockchain-Based-Attendance-System.git
cd Blockchain-Based-Attendance-System
composer install
cp .env.example .env
# Configure your .env file

📖 For detailed setup instructions, see QUICKSTART.md

⚙️ Configuration

All configuration is done via the .env file:

# SMTP Email Settings
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
SMTP_SECURE=tls
FROM_EMAIL=no-reply@example.com
FROM_NAME=Attendance System

# Application Settings
APP_ENV=production
APP_DEBUG=false
APP_TIMEZONE=Africa/Lagos

# Security Settings
FINGERPRINT_ENABLED=true
MAX_CHECKINS_PER_DAY=1

See .env.example for all available options.

⚙️ Running Locally

Using PHP Built-in Server

php -S localhost:8000

Visit: http://localhost:8000

Using XAMPP or WAMP

  1. Install XAMPP or WAMP
  2. Place project in htdocs (XAMPP) or www (WAMP)
  3. Start Apache
  4. Visit: http://localhost/blockchain-attendance-system/
  • This project is licensed under the MIT LICENSE – see the LICENSE file for details.

👤 Author