桌面型產品編虄與查詢應用開發

Job ID: 39423455

Budget: $250 – $750 USD

Develop a Desktop Application (Windows .exe) Using Node.js + Electron + SQLite
Wireframe Provided

Overview:

This desktop application is built with Node.js + Electron + SQLite and must support editing and viewing of samples and their child items (item codes). The .exe file will read a SQLite database from the same directory. If the database does not exist, it will be automatically created.

The application must support both Traditional Chinese and Simplified Chinese using i18n.

Classification options should be sourced from a static JSON file.

Must support multiple windows using Electron’s new BrowserWindow()

Must install and run on Windows 11.

Deliverables:

Clean, well-commented source code.
Two versions of the .exe:
Full version (with editing capabilities).
Read-only version (view/search only).
A test SQLite file with 30,000 records, including:
Proper one-to-many relationships between samples and item codes.
At least one sample with 400 item codes to test extreme cases.
Instructions on:
How to repackage/build the .exe.
How to update static data files like:
Classification JSON
i18n translation files (Traditional & Simplified Chinese).

Database Structure:
Table 1: samples (Main table)

Field Type Required Description
product_no TEXT Yes Internal product number, searchable
category TEXT Yes Dropdown (options from static JSON)
image BLOB No Image stored as BLOB
drawing_no TEXT No CAD reference code, searchable
unit_price REAL No Decimal up to 2 places, for record only
material TEXT No Free text
strength_test TEXT No Free text
dimension_check TEXT No Free text
sample_date DATE (YYYY-MM-DD) No Uses a date picker in the UI
mold_release_date DATE (YYYY-MM-DD) No Uses a date picker in the UI

Table 2: item_codes (Child table)

Field Type Required Description
sample_id INTEGER Yes Foreign key linking to samples.id
name TEXT Yes Name, searchable
color_code TEXT No Searchable
confirmation_date DATE (YYYY-MM-DD) No Date picker, searchable
remark TEXT No Long text (200-300 chars), uses textarea

Functional Requirements:
List Page:

Must use pagination — do not load all records at once.

Displays current page, total pages, and total result count.

Default sort by product_no (A → Z).

Expandable rows: Clicking to expand a sample loads its item codes (lazy-load).

Search with multiple fields, using AND logic.

Searchable fields: product_no, drawing_no, item name, color code, confirmation date, etc.

Edit/View Pages:

Open in new windows using new BrowserWindow.

Can open multiple windows (e.g., 10 at once).

Image upload:

Automatically resize to width = 200px if image is too large.

Support pasting image from clipboard (e.g., copied from Excel).

UI Requirements:

Simple, clean layout.

Font size: 16–18px for general text.

Headings use a larger font.

Designed for 24-inch monitors.

Fonts:

Preferred: Meiryo UI (bundled with Windows 11).

Fallback: Microsoft JhengHei.

If using Meiryo UI requires extra steps or cost, this can be quoted separately.

Classification Dropdown Options (stored in JSON, with title and value fields):

Shenzhen YKK

Shenzhen YKK OEM Quotation Data

Dalian YKK

Hong Kong YKK

Guangzhou YKK

Shanghai YKK

{ "title": "深圳YKK", "value": "shenzhen_ykk" },
{ "title": "深圳YKK代工報價資料", "value": "shenzhen_ykk_outsource" },
{ "title": "大連YKK", "value": "dalian_ykk" },
{ "title": "香港YKK", "value": "hongkong_ykk" },
{ "title": "廣州YKK", "value": "guangzhou_ykk" },
{ "title": "上海YKK", "value": "shanghai_ykk" }
Related categories: Electronics Node.js Bootstrap RWD SQLite