이 프로젝트는 코일 원자재 입고량 조회 시스템으로, Nexacro Platform 17을 기반으로 구축된 RIA(Rich Internet Application)입니다.
-
주요 목적:
- 코일 원자재의 입고 현황을 효율적으로 조회하고 관리합니다.
- 실시간 재고 파악을 통해 생산 계획 수립을 지원합니다.
- 데이터 기반의 투명하고 정확한 원자재 관리를 목표로 합니다.
-
핵심 기능:
- 기간, 코일 종류, 공급업체 등 다양한 조건에 따른 입고 데이터 조회
- 그리드(Grid) 내 데이터 정렬, 필터링 및 엑셀 내보내기
- 백엔드 시스템과의 RESTful API 연동을 통한 데이터 처리
-
프론트엔드:
- 플랫폼: Nexacro Platform v17
- 언어: JavaScript (X-JavaScript)
- UI: Nexacro Components (Grid, Calendar, Button 등)
- 스타일: Nexacro CSS (XCSS)
-
백엔드 (외부 의존성):
- 서버: Java / Spring Framework (문서 기반 추정)
- 데이터베이스: Oracle / MySQL (문서 기반 추정)
- API: RESTful API (
/api/coil-material-receipts/search)
-
개발 도구:
- IDE: Nexacro Studio 17
전형적인 Nexacro 프로젝트 구조를 따릅니다.
C:\NexacroProject\
├───build\ # 빌드 결과물이 생성되는 폴더
├───config\
│ └───project.json # 프로젝트 설정 (넥사크로 버전, 빌드 경로 등)
├───docs\ # 개발 관련 문서 (설계서, 이력 등)
├───src\ # 소스 코드 루트
│ └───application.json # 애플리케이션 전역 설정 (메인 프레임, 폼 등)
├───srccss\ # CSS (XCSS) 파일
├───srcdatasets\ # 데이터셋(Dataset) 객체 파일
├───srcforms\ # 화면 폼(Form) 파일 (XFDL)
├───srcimages\ # 이미지 파일
├───srcscripts\ # 전역 스크립트 파일 (XJS)
└───srcservices\ # 서비스(Service) 연결 설정
문서 및 설정 파일을 통해 다음과 같은 코딩 규칙과 패턴을 유추할 수 있습니다.
-
네이밍 컨벤션:
- 화면 파일:
[업무명]_[화면명].xfdl(예:코일원자재입고량조회.xfdl) - 문서:
[업무명]_[화면명]_[문서종류].md - 함수:
camelCase를 사용하며,initializeScreen,validateSearchConditions와 같이 목적이 명확한 동사+명사 형태로 작성됩니다.
- 화면 파일:
-
중앙 집중식 처리:
- 오류 처리:
handleError함수를 통해 오류를 중앙에서 관리합니다. - API 호출:
apiCall이라는 공통 함수를 통해 백엔드와 통신합니다. - 입력값 검증:
validateSearchConditions와 같이 검증 로직을 별도 함수로 분리하여 관리합니다.
- 오류 처리:
-
성능 최적화:
- 디바운싱(Debouncing): 검색어 입력 시 불필요한 API 호출을 막기 위해 500ms 디바운싱을 적용합니다.
- 가상 스크롤링(Virtual Scrolling): 1,000건 이상의 대량 데이터 조회 시 그리드 성능 저하를 방지하기 위해 가상 스크롤을 사용합니다.
-
주석 및 문서화:
change_history.txt를 통해 주요 변경 이력을 관리합니다.- 로직 문서에 상세한 함수 설명과 처리 흐름을 기록하여 유지보수성을 높입니다.
Nexacro 프로젝트는 대부분 CLI가 아닌 Nexacro Studio IDE를 통해 개발이 진행됩니다.
- 프로젝트 열기: Nexacro Studio에서
C:\NexacroProject폴더를 프로젝트로 엽니다. - 애플리케이션 실행/테스트:
Launch메뉴 또는F5키를 사용하여 QuickView로 애플리케이션을 실행하고 테스트합니다.Debug메뉴를 통해 스크립트 디버깅을 수행합니다.
- 빌드 및 배포:
Project > Build메뉴를 통해 프로젝트를 빌드합니다. 결과물은build폴더에 생성됩니다.- 생성된 결과물을 웹 서버에 배포하여 운영 환경에 반영합니다.
- Nexacro Studio 설치:
config/project.json에 명시된 Nexacro Platform 17 버전에 맞는 Studio를 설치합니다. - 프로젝트 임포트: Nexacro Studio에서
C:\NexacroProject디렉터리를 프로젝트로 가져옵니다. - 백엔드 서버 설정:
- 로컬 개발을 위해 백엔드 API 서버(예:
http://localhost:8080)를 실행합니다. - Nexacro Studio의
Project > Properties > Service에서 백엔드 서버 URL을 등록하거나project.json의serverUrl을 환경에 맞게 수정합니다.
- 로컬 개발을 위해 백엔드 API 서버(예:
- 백엔드 의존성: 이 프로젝트는 프론트엔드 UI/UX에 집중되어 있으며, 모든 데이터는 외부 백엔드 시스템과의 API 통신을 통해 처리됩니다. 따라서 백엔드 API의 가용성과 명세 준수가 매우 중요합니다.
- 데이터베이스 스키마:
docs/코일원자재입고량조회_개발문서.md에COIL_MATERIAL_RECEIPT테이블의 스키마가 정의되어 있으므로, 개발 시 참조해야 합니다. - 보안: 로직 문서에 XSS(Cross-Site Scripting) 및 기본적인 SQL Injection을 방지하기 위한
sanitizeInput함수가 언급되어 있습니다. 입력값 처리에 항상 주의해야 합니다. - 문서 관리:
docs폴더에 설계 및 로직 문서가 잘 관리되고 있으며,change_history.txt를 통해 변경 이력을 추적하는 것이 중요합니다.