Skip to content

Sundarban-Lab/data-entry-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Entry App

Release Downloads License

A professional, customizable offline data entry application for managing church records and other data efficiently. Built with Electron and SQL.js for maximum portability and security.

⬇️ Download

  • Windows (x64): Download the latest ZIP from the Releases page, extract it, then run Data Entry Manager.exe.

⚡ Quick Start

  1. Download the ZIP from Releases
  2. Extract the folder
  3. Double-click Data Entry Manager.exe
  4. Start entering records (Ctrl+N to add, Ctrl+S to save)

🌟 Features

Core Features

  • Offline Data Entry: All data persists locally using SQL.js (no server required)
  • Full CRUD Operations: Create, Read, Update, Delete records with ease
  • Excel Export: Export records to Excel with church record template compatibility
  • Search & Filter: Real-time search across all fields
  • Responsive Design: Works on desktop and adapts to different screen sizes

🆕 Professional Features (v1.2.0)

  • ✅ Field Validation: Real-time validation for dates, emails, phone numbers with visual feedback
  • 📥 Data Import: Bulk import from CSV/Excel files with intelligent field mapping
  • 🎯 Application Menu Bar: Professional menu with File, Edit, View, Records, Window, Help
  • 📊 Statistics Dashboard: View total records, date ranges, and database insights
  • ⌨️ Keyboard Shortcuts:
    • Ctrl+S - Save current record
    • Ctrl+N - New record
    • Ctrl+F - Focus search
    • Ctrl+E - Export to Excel
    • Ctrl+I - Import data
    • Esc - Cancel/Clear form

Customization Features ✨

  • Editable App Title: Click the header to rename your application
  • Dynamic Field Management:
    • Add custom fields with different types (text, textarea, number, date, email)
    • Delete fields you don't need
    • Update field properties (label, placeholder, required status)
  • Persistent Configuration: All customizations saved in browser localStorage
  • Reset to Default: Restore the original 15 church record fields anytime

Default Church Record Fields

  1. Name of Church
  2. Place
  3. Husband Name
  4. Wife Name
  5. Father Name
  6. Mother Name
  7. Relation
  8. Name
  9. Birth
  10. BAPT (Baptism)
  11. CONF (Confirmation)
  12. 1 COM (First Communion)
  13. Marriage
  14. Death
  15. Note

Installation

npm install

📖 Documentation

Usage

Run the Application

npm start

Build Windows package (ZIP)

npm run dist

The packaged app will be created in the dist/ directory (ZIP archive). You can extract it and run Data Entry Manager.exe.

Customize Your App

Change the App Title

  • Click on the app title in the header ("Data Entry Manager")
  • Type your custom name
  • Press Enter to save

Manage Fields

  • Click the "⚙️ Customize Fields" button
  • Add Field: Click "+ Add New Field"
  • Edit Field: Modify label, ID, type, placeholder, or required status
  • Delete Field: Click the red "Delete" button
  • Click "Save Changes" to apply

Reset to Default

  • Open field settings
  • Click "Reset to Default"
  • Confirm to restore original 15 church fields

🖥️ System Requirements

  • Windows 10 or later (x64)
  • ~250 MB free disk space
  • No internet required for core features (optional for Google Sheets sync)

Technology Stack

  • Electron v25.3.0 - Desktop application framework
  • sql.js v1.9.0 - SQLite database (WASM, no native dependencies)
  • xlsx v0.18.5 - Excel file generation
  • electron-builder v24.13.3 - Installer packaging

Data Storage

  • Database: data.db (SQLite via sql.js)
  • Excel Exports: records.xlsx
  • Customizations: Browser localStorage
    • customFields - Field configuration
    • appTitle - Application title

Development

Project Structure

data-entry-app/
├── main.js              # Electron main process
├── preload.js           # Secure IPC bridge
├── database.js          # Database operations
├── index.html           # Main UI structure
├── renderer.js          # UI logic
├── field-manager.js     # Dynamic field management
├── style.css            # Dark theme styling
├── package.json         # Dependencies and build config
└── .github/
    └── workflows/
        └── build-windows.yml  # CI/CD workflow

Security

  • Context isolation enabled
  • Sandbox mode enabled
  • No node integration in renderer
  • Secure IPC via contextBridge

CI/CD

GitHub Actions workflow automatically builds Windows installer on push to:

  • main branch
  • clean-build branch
  • Any copilot/* branches

Download built installer from GitHub Actions artifacts.

Author

Anik Chowdhury

License

MIT

About

This is a offline and online data entry app

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages