Skip to content

Releases: mohammedrayyan12/JavaSwing-DigiLogBook

v2.0.0 - Official Production Release

25 Feb 18:37
39ac9a0

Choose a tag to compare

What's Changed

🚀 Release Notes: Architectural Migration & Cloud Integration

This update marks a fundamental shift in how DigiLogBook manages data, moving from local file dependencies to a secure, cloud-native API architecture.

🔄 Evolution of Data Management

  • Legacy (CSV): Transitioned away from flat-file CSV storage to a structured Relational Schema.
  • Intermediate (Local-First): Implemented a unified configuration table in SQLite to manage Batches, Subjects, and USNs, providing better data integrity than spreadsheets.
  • Current (Edge API): Migrated from direct JDBC database connections to Supabase Edge Functions (Deno).

🛠️ Key Technical Changes

  • Decoupled Database Access: Removed heavy JDBC drivers (PostgreSQL/MySQL) from the client. The application now communicates via a lightweight HTTPS CloudAPI.
  • Atomic Sync Engine:
    • Implemented a "Local-is-Truth" synchronization model where the local SQLite acts as the authority.
    • Developed a "Pending Sync" queue using a delimiter-based retry system in config.properties to handle network interruptions.
  • Server-Side Logic: Centralized SQL execution within Deno Edge Functions, improving security by abstracting database credentials away from the client.
  • Robust Configuration Fetching: Added a startup routine that mirrors cloud configurations to the local SQLite instance, ensuring the UI remains up-to-date with the latest lab data.

🛡️ Security & Performance Enhancements

  • Reduced Footprint: Cleaned up build.gradle dependencies, resulting in a leaner, faster-loading JAR.
  • Credential Protection: Eliminated the risk of reverse-engineering database passwords by switching to API Key-based authentication.
  • Transaction Safety: Utilized PostgreSQL RPC functions to ensure "all-or-nothing" data updates, preventing partial data corruption during crashes.

📦 Dependency Updates

  • Added: com.google.code.gson (for JSON serialization).
  • Maintained: org.xerial:sqlite-jdbc (local authority), org.apache.pdfbox (report generation).
  • Removed: mysql-connector-j, org.postgresql:postgresql (deprecated direct drivers).

🔍 Setup & Usage

  1. Ensure config.properties contains the valid SUPABASE_URL and ADMIN_KEY (Refer Cloud database setup).
  2. The app automatically attempts to clear the sync backlog on startup.
  3. If the cloud is unreachable, changes are cached locally and retried automatically.

New Contributors

Full Changelog: v0.1.0-alpha.1...v1.0.0

DigiLogBook Alpha 1

29 Nov 08:13
ca96e88

Choose a tag to compare

Merge pull request #1 from mohammedrayyan12/under-dev

Configuration Details into Settings