update webbase design

This commit is contained in:
ChiKyun Kim
2025-07-27 16:25:15 +09:00
parent afbac3248e
commit 0c5744c12c
17 changed files with 2414 additions and 225 deletions

116
CLAUDE.md Normal file
View File

@@ -0,0 +1,116 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
This is a Korean Enterprise GroupWare system built with C# .NET Framework 4.6 and Windows Forms. The application serves as a comprehensive business management system that includes project management, purchasing, attendance tracking, reporting, and web-based functionality. The project runs on port 7979 (previously 9000) and includes both desktop and web components.
## Architecture
### Main Application (Project/EETGW.csproj)
- **Entry Point**: `Project/Program.cs` - Handles WebView2Runtime extraction and starts the main form
- **Main Form**: `Project/fMain.cs` - Primary application window
- **Web Server**: Integrated OWIN-based web server for HTTP API and static files
- **Database**: Microsoft SQL Server with Entity Framework 6.2.0
- **Target Framework**: .NET Framework 4.6
### Key Components
1. **Web Layer** (`Project/Web/`):
- **Startup.cs**: OWIN configuration for HTTP API and static file serving
- **Controllers**: API controllers for various business functions (Home, Project, Purchase, Item, etc.)
- **wwwroot**: Static web assets (HTML, CSS, JS files)
2. **SubProjects**: Modular components with specific business functionality:
- **FPJ0000**: Project management module
- **FCM0000**: Customer management
- **FEQ0000**: Equipment management
- **FBS0000**: Holiday/attendance management
- **FCOMMON**: Shared common functionality
- **WebServer**: Additional web services
- **AmkorRestfulService**: REST API services
3. **Sub Components** (`Sub/`):
- **arCtl**: Custom controls library
- **arftp**: FTP functionality
- **tcpservice**: TCP communication services
- **YARTE**: HTML editor component
- **StaffLayoutCtl**: Staff layout controls
### Technology Stack
- **UI Framework**: Windows Forms with custom controls (FarPoint Spread grids)
- **Web Framework**: OWIN with ASP.NET Web API 5.2.9
- **Database ORM**: Entity Framework 6.2.0
- **JSON Processing**: Newtonsoft.Json 13.0.3
- **Web Browser**: Microsoft WebView2 1.0.2210.55
- **Reports**: Microsoft ReportViewer 15.0
- **Excel Processing**: libxl.net and CsvHelper 30.0.1
## Development Commands
### Building the Solution
```bash
# Build the entire solution
msbuild EETGW.sln /p:Configuration=Debug /p:Platform="Any CPU"
# Build for release
msbuild EETGW.sln /p:Configuration=Release /p:Platform="Any CPU"
# Build specific project
msbuild Project/EETGW.csproj /p:Configuration=Debug
```
### Running the Application
- **Debug Mode**: Run from Visual Studio or build and execute the output from `Project/bin/Debug/`
- **Web Server**: Automatically starts on port 7979 when the application launches
- **Database**: Ensure SQL Server connection string is configured in app.config
### Package Management
- Uses NuGet packages defined in `packages.config` files throughout the solution
- Restore packages using: `nuget restore EETGW.sln`
## Configuration
### Database Connection
- Connection strings configured in individual `app.config` files
- Primary database connection in `Project/app.config`
- Uses Entity Framework with SQL Server
### Web Server Configuration
- **Port**: 7979 (configured in startup)
- **Static Files**: Served from `Project/Web/wwwroot/`
- **API Routes**: Configured in `Project/Web/Startup.cs`
- **CORS**: Enabled for all origins
### Build Configurations
- **Debug**: Outputs to `Project/bin/Debug/` with x86 platform target
- **Release**: Optimized build configuration
- Different output paths for various configurations (see EETGW.csproj)
## Key Conventions
### Code Organization
- Korean comments and variable names are common throughout the codebase
- Business logic separated into modular SubProjects
- Shared functionality centralized in FCOMMON project
- Custom controls and utilities in Sub/ directory
### File Structure
- Each SubProject has its own namespace and assembly
- Form files follow naming convention: `f[FormName].cs` with corresponding `.Designer.cs` and `.resx`
- Dataset files use `.xsd` schemas with generated code
### Dependencies
- Heavy use of FarPoint Spread controls for data grids
- Custom logging via ArLog.Net4.dll
- Settings management through ArSetting.Net4.dll
- Multiple third-party libraries for Excel, FTP, and web functionality
## Development Notes
- WebView2Runtime is automatically extracted on first run from WebView2Runtime.zip
- The application includes comprehensive error handling and logging
- Multiple authentication methods including AD integration
- Supports both Korean and English localization
- Includes extensive reporting capabilities with RDLC files