4.6 KiB
4.6 KiB
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
-
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)
-
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
-
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
# 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.configfiles throughout the solution - Restore packages using:
nuget restore EETGW.sln
Configuration
Database Connection
- Connection strings configured in individual
app.configfiles - 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].cswith corresponding.Designer.csand.resx - Dataset files use
.xsdschemas 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