Back to Selected Work
Desktop (Linux & Windows)SQLite FFI100% Offline SQLite FFI

Skhola — Offline School Management System

Mission-critical school administration desktop platform built for attendance tracking, student fee ledgers, and academic reports without internet dependency.

Domain
Desktop Applications
My Role
Desktop Software Engineer
Source Code
Proprietary
Primary Stack
Flutter Desktop, Dart
The Problem & Motivation

Why this was built

Many schools in regional Nepal experience unstable internet connectivity. Cloud-only school management portals cause administrative delays when staff cannot take attendance, issue fee receipts, or record exam grades.

Architecture & Execution

Technical Approach

Building an offline-first desktop platform using Flutter Desktop with direct sqflite_common_ffi bindings. Integrates local Nepali date utilities (nepali_utils) for accurate Bikram Sambat (B.S.) calendar scheduling, student registration, fee accounting, and exam report generation.

Technologies Used:
Flutter DesktopDartSQLite FFINepali UtilsPath ProviderLinux & Windows
Skhola Offline Database Initialization & Migration
Source Snapshot
// Skhola Desktop: Offline SQLite FFI initialization and schema setup
Future<Database> initializeSkholaDatabase() async {
  sqfliteFfiInit();
  final databaseFactory = databaseFactoryFfi;
  final appDocDir = await getApplicationDocumentsDirectory();
  final dbPath = p.join(appDocDir.path, 'skhola', 'skhola_core.db');

  return await databaseFactory.openDatabase(
    dbPath,
    options: OpenDatabaseOptions(
      version: 1,
      onCreate: (db, version) async {
        await db.execute('''
          CREATE TABLE students (
            id TEXT PRIMARY KEY,
            admission_no TEXT UNIQUE,
            name TEXT NOT NULL,
            class_grade TEXT NOT NULL,
            parent_contact TEXT,
            enrollment_bs TEXT NOT NULL
          )
        ''');
      },
    ),
  );
}

Key Architectural Features & Outcomes

01

100% offline-first operation with local SQLite FFI database storage

02

Integrated Nepali calendar (Bikram Sambat B.S.) for academic terms

03

Student registration, attendance tracking, and parent contact logs

04

Fee payment ledger and automated receipt generator

05

Phase 1 standalone desktop application (Linux & Windows)