update webbase design
This commit is contained in:
116
CLAUDE.md
Normal file
116
CLAUDE.md
Normal 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
|
||||
Reference in New Issue
Block a user