Back to Projects

TK Mitra Bunda

August 2026
Live DemoNo Code Source
TK Mitra Bunda

Curious how I built this?

Read the full case study & technical deep-dive on Medium →

The full article covers the problem background, technical architecture, lessons learned, and business impact — ideal for HR and IT Recruiters who want to understand the technical depth of this project.

Read on Medium
Website User Guide

About the Project

The TK Mitra Bunda Attendance System is a full-stack web application that fully digitalizes the kindergarten attendance process — from recording student arrivals in the morning, departures at noon, to exporting monthly reports to Excel. Built as a real client project for an educational institution, this system replaces slow and error-prone manual paper-based attendance recording.

Using QR Code and Text-to-Speech technology, teachers simply place a tablet at the school gate — the system works automatically without manual interaction. Admins can monitor, manage, and download reports at any time from any device.

TK Mitra Bunda Attendance System — User Guide

This guide explains how to use the QR Code-based attendance system, from login to real-time student attendance monitoring.

Page Overview

PageURLAccess
Login/Public
Dashboard/dashboardAdmin (Login)
Student Management/siswaAdmin (Login)
Attendance Scanner/scanAdmin (Login)
Attendance Statistics/dashboard/statistikAdmin (Login)
Monitor Attendance/pantauPublic (Read-only)

1. Login Page ( / )

The first page encountered when opening the application. Only registered accounts can access the admin pages.

Halaman Login

Login page view — enter admin account email and password to access the system.

How to Login:

  1. 1Enter your admin account Email and Password in the form.
  2. 2Click the "Masuk" (Sign In) button.
  3. 3If successful, you will be automatically redirected to the Dashboard.

💡 Note: This app uses Supabase authentication. If you forget your password, contact the system administrator to reset your account.

2. Dashboard Page ( /dashboard )

Dashboard Absensi

Main Dashboard view — the control center for monitoring daily attendance in real-time.

The main control center for managing and monitoring daily attendance. At the top is today's date as a reference, and a 'Historical View Mode' indicator if you are viewing past date data.

Statistics Cards (6 Summary Cards):

CardDescription
Total StudentsTotal number of students registered in the system
PresentNumber of students recorded as present today
PendingStudents who don't have attendance data yet
SickNumber of students recorded as sick
ExcusedNumber of students with excused absence
AbsentStudents absent without explanation

Navigation Buttons (Top Right):

  • 🔵 Attendance PercentageGoes to the statistics page with a Pie Chart.
  • 🟣 Print Student QRExports all student QR Codes into a PDF.
  • 🟢 Download ExcelDownloads attendance data as an .xlsx file.

Display Modes (2 Modes):

  • Attendance Mode (default): Displays each student's arrival status (Present, Sick, Excused, Absent, Pending).
  • Dismissal Mode: Displays each student's departure status (Departed / Not Yet Departed).

Dismissal Time Setting: Next to the mode tabs is the Dismissal Time setting (HH:MM format). This time is used by the system to automatically switch the QR Scanner from 'Attendance' to 'Dismissal' mode.

Student Data Table Features:

  • Click the name/row to view details.
  • Change Status: Click the button in the status column to change attendance (Present / Sick / Excused / Absent).
  • Delete Today's Attendance: Deletes the student's attendance record for today.

Filter & Search:

  • Status Filter: Tab buttons to filter the view by status (All, Present, Pending, Sick, Excused, Absent).
  • Date Column: Date input in the top right to view historical data from previous days.

Download Excel (Daily & Monthly):

When the Download Excel button is clicked, a modal appears with 2 options:

  • Daily: Downloads attendance data for a specific date.
  • Monthly: Downloads the attendance recap for an entire selected month.
Rekap Harian Excel

Sample Daily attendance Excel report — contains attendance data for a specific date.

Rekap Bulanan Excel

Sample Monthly attendance Excel report — contains the full month's recap with daily columns.

3. Student Management Page ( /siswa )

Halaman Manajemen Siswa

Student Management page — manage student data with Add, Edit, Delete, and QR Code download features.

Page for managing all student master data. Displays a table with columns: No, NIS, Student Name, Barcode/QR Data, and Actions.

Add a New Student:

  1. 1Click the "+ Tambah Siswa" button at the top right.
  2. 2Fill the form: NIS (required), Full Name, and Barcode / QR Data (auto-filled as QR-{NIS}, editable).
  3. 3A QR Code preview appears instantly as QR Data is typed.
  4. 4Click "+ Tambah Siswa" to save.

Edit Student Data:

  1. 1Click the yellow pencil (edit) icon on the student's row.
  2. 2Edit the necessary data in the form.
  3. 3Click "Simpan Perubahan".

View & Download QR Code:

  1. 1Click the purple QR icon on the student's row.
  2. 2A modal displays the large QR Code with the student's name and NIS.
  3. 3Click "Download PNG" to download the QR Code as an image.

Delete Student:

  1. 1Click the red trash (delete) icon.
  2. 2Confirm the deletion in the dialog that appears.

⚠️ Warning: Deleting a student also permanently removes all their attendance history and cannot be undone.

4. Attendance Scanner Page ( /scan )

Halaman Scanner QR

QR Scanner page — the main scanning interface operated at the school gate every day.

The heart of the attendance system. Accessed on a device (tablet/laptop) placed at the school gate to record student arrivals and departures.

Active Mode Banner:

  • 🟢 Green — Attendance Mode: QR scan will record the student as Present.
  • 🟣 Purple — Dismissal Mode: QR scan will record the student's departure time.

Mode switches automatically based on the dismissal time set in the Dashboard. You can also change it manually with the "Ganti Mode" button.

How to Use the Scanner:

  1. 1Click the "Mulai Kamera" button on the scanner panel.
  2. 2Allow camera access in the browser.
  3. 3Point the camera at the QR Code on the student's card.
  4. 4The system will automatically recognize the QR and process the attendance.
  5. 5A confirmation voice will sound: "[Student Name] hadir!" or "[Student Name] pulang!"
  6. 6A pop-up notification appears as a success confirmation.

Scan Status:

ConditionSystem Response
QR recognized, not yet recordedAttendance successfully recorded ✅
QR recognized, already recordedWarning: "already recorded" ⚠️
QR already departed (dismissal mode)Warning: "already departed" ⚠️
QR not recognizedError: "Barcode not recognized" ❌

Scan Log (Right Panel):

Displays a list of all students recorded on the selected date. A date input is available to view historical logs.

5. Attendance Statistics Page ( /dashboard/statistik )

An analytics page displaying student attendance distribution visually. Access it by clicking the "Persentase Kehadiran" (blue) button on the Dashboard.

Time Filter (3 Options):

  • This Week: Data from Monday to Sunday of this week.
  • This Month (default): Data throughout the current month.
  • This Year: Year-long data recap.

Statistics Detail Cards:

CategoryColorDescription
Present🟢Total attendance records
Sick🔴Total students recorded as sick
Excused🔵Total students with excused absence
AbsentTotal unexcused absences
PendingEstimated students without attendance data

💡 Pending Note: 'Pending' data is estimated: total students multiplied by school days in the period, minus existing records.

6. Attendance Monitor Page ( /pantau )

Halaman Pantau Kehadiran

Attendance Monitor page (read-only) — accessible without login, ideal for displaying on school monitor screens.

A read-only page accessible without login — ideal for displaying on monitor/projector screens at school.

Main Features:

  • Displays all students with their attendance status for today.
  • Auto-refresh every 5 seconds without manual reload.
  • Shows a quick summary: number of Present and Not Yet Present students.
  • Responsive layout: Table on desktop, Cards on mobile with color indicators on the left.

Columns Displayed (Desktop):

ColumnDescription
NoRow number
Student NameFull name and NIS
StatusStatus badge (Present / Sick / Excused / Absent / Pending)
Arrival TimeTime when QR was scanned in
Departure TimeTime when QR was scanned out
NotesAdditional notes (if any)

💡 Tip: This page is ideal to open in a separate browser tab on a large screen for real-time monitoring throughout the day without re-logging in.

Recommended Daily Workflow

MORNING

Open /scan → Click "Mulai Kamera"

MORNING (Scan)

Students arrive → Scan QR Card → System records Present + voice confirmation

OPTIONAL

Open /pantau on another screen for real-time monitoring

MIDDAY (Auto)

System automatically switches to Dismissal Mode after dismissal time

MIDDAY (Scan)

Students depart → Scan QR Card → System records departure time

END OF DAY

Open /dashboard → Download Excel for daily recap

ANYTIME

Check /dashboard/statistik for periodic analytics

For IT Recruiter / HR

Want to see how this system was designed & built from scratch?

Full case study available on Medium, covering system architecture, technical decisions, and real-world impact delivered.

Read Case Study on Medium