Commit Graph

14 Commits

Author SHA1 Message Date
Misaka
00f4e40505 feat: implement authentication service
Add auth service that wraps Playwright service for user authentication.
Includes login/logout functionality and session management.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:40:44 +08:00
Misaka
cfc2fe7f7d feat: implement Playwright service for browser automation
- Add playwright types for Credentials, Session, and LoginResult
- Implement PlaywrightService with launchBrowser, login, closeBrowser, and newPage methods
- Support browser configuration (headless mode, slowMo, timeout)
- Integrate with LoggerService for comprehensive logging
- Handle HTTPS errors via ERP configuration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:35:25 +08:00
Misaka
550309c2e7 chore: add Jest testing dependencies
- Add jest, @types/jest, and ts-jest for testing
- Add @types/mssql for TypeScript support

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:28:33 +08:00
Misaka
351c7857cb feat: implement database service with SQL Server and MySQL support
- Add database types (QueryResult, TransactionResult)
- Implement DatabaseService with connection management for SQL Server and MySQL
- Add query execution methods for both database types
- Include comprehensive error handling and logging
- Add unit test for error handling
- Configure Jest for testing

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:28:02 +08:00
Misaka
7cfbce7505 feat: setup IPC communication framework
- Add IPC types definition with all communication channels
- Implement preload script with API surface for renderer process
- Add IPC handler registration stub in main entry point

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:19:21 +08:00
Misaka
f112046178 feat: implement Winston logging service
- Add LogEntry interface for structured log data
- Create LoggerService with Winston integration
- Support for console and file transports (app.log, error.log)
- Implement UI log notification callbacks
- Provide info, warn, error, and debug logging methods
- Configure log rotation (10MB max, 5 files retained)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:17:09 +08:00
Misaka
319b5ec03b feat: implement configuration management system
- Add comprehensive TypeScript interfaces for all config types
- Implement ConfigManager singleton class with layered loading
- Support for default, environment-specific, and environment variable configs
- Add example .env file for sensitive configuration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:17:09 +08:00
Misaka
ae60273782 feat: implement configuration management system
- Add comprehensive TypeScript interfaces for all config types
- Implement ConfigManager singleton class with layered loading
- Support for default, environment-specific, and environment variable configs
- Add example .env file for sensitive configuration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:10:41 +08:00
Misaka
fb6f2bbc02 feat: configure TypeScript with strict mode 2026-02-28 22:07:52 +08:00
Misaka
cacc53a184 feat: install core dependencies (playwright, database, logging)
Install runtime dependencies:
- playwright: For browser automation
- mssql: SQL Server database connectivity
- mysql2: MySQL database connectivity
- winston: Logging framework
- exceljs: Excel file generation and manipulation

Install dev dependencies:
- @types/node: TypeScript definitions for Node.js

Update package.json scripts:
- postinstall: Automatically install Playwright Chromium
- test: Jest unit test runner
- test:e2e: Playwright end-to-end test runner

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 22:01:03 +08:00
Misaka
b5a8c11a30 fix: restore Electron template files deleted in Task 1
This commit restores essential Electron + React template files that were
accidentally deleted during Task 1 implementation. These files were part
of the initial template setup (commit 0077005) and are required for the
Electron application to function properly.

Restored files:
- src/preload/index.d.ts
- src/preload/index.ts
- src/renderer/index.html
- src/renderer/src/assets/base.css
- src/renderer/src/assets/electron.svg
- src/renderer/src/assets/main.css
- src/renderer/src/assets/wavy-lines.svg
- src/renderer/src/components/Versions.tsx
- src/renderer/src/env.d.ts
- src/renderer/src/main.tsx
- src/renderer/src/App.tsx (restored to original template)

The directory structure additions from Task 1 (hooks, pages, styles) are
preserved.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 21:44:06 +08:00
Misaka
7704c0c067 feat: create project directory structure
- Create main process structure (services, dao, controllers, models, utils, config)
- Create preload script directory with .gitkeep
- Create renderer structure (pages, components, hooks, styles)
- Add placeholder App.tsx for React (to be implemented in later tasks)
- Create config, tests, logs directories
- Create data directories (temp, output, reports)
- Update .gitignore to exclude logs, data files, and environment configs

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 21:39:52 +08:00
Misaka
14089eb64c Add .claude to gitignore
Exclude Claude Code's configuration directory from version control.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 20:38:12 +08:00
Misaka
0077005cdd first commit 2026-02-28 20:36:59 +08:00