Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 5.82 KB

File metadata and controls

100 lines (76 loc) · 5.82 KB

NexacroProject 분석 보고서 (gemini.md)

1. 프로젝트 개요 및 목적

이 프로젝트는 코일 원자재 입고량 조회 시스템으로, Nexacro Platform 17을 기반으로 구축된 RIA(Rich Internet Application)입니다.

  • 주요 목적:

    • 코일 원자재의 입고 현황을 효율적으로 조회하고 관리합니다.
    • 실시간 재고 파악을 통해 생산 계획 수립을 지원합니다.
    • 데이터 기반의 투명하고 정확한 원자재 관리를 목표로 합니다.
  • 핵심 기능:

    • 기간, 코일 종류, 공급업체 등 다양한 조건에 따른 입고 데이터 조회
    • 그리드(Grid) 내 데이터 정렬, 필터링 및 엑셀 내보내기
    • 백엔드 시스템과의 RESTful API 연동을 통한 데이터 처리

2. 기술 스택 및 의존성

  • 프론트엔드:

    • 플랫폼: 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

3. 프로젝트 구조 및 폴더 구성

전형적인 Nexacro 프로젝트 구조를 따릅니다.

C:\NexacroProject\
├───build\              # 빌드 결과물이 생성되는 폴더
├───config\
│   └───project.json    # 프로젝트 설정 (넥사크로 버전, 빌드 경로 등)
├───docs\               # 개발 관련 문서 (설계서, 이력 등)
├───src\                # 소스 코드 루트
│   └───application.json # 애플리케이션 전역 설정 (메인 프레임, 폼 등)
├───srccss\             # CSS (XCSS) 파일
├───srcdatasets\        # 데이터셋(Dataset) 객체 파일
├───srcforms\           # 화면 폼(Form) 파일 (XFDL)
├───srcimages\          # 이미지 파일
├───srcscripts\         # 전역 스크립트 파일 (XJS)
└───srcservices\        # 서비스(Service) 연결 설정

4. 코드베이스 관찰 규칙 및 스타일 가이드

문서 및 설정 파일을 통해 다음과 같은 코딩 규칙과 패턴을 유추할 수 있습니다.

  • 네이밍 컨벤션:

    • 화면 파일: [업무명]_[화면명].xfdl (예: 코일원자재입고량조회.xfdl)
    • 문서: [업무명]_[화면명]_[문서종류].md
    • 함수: camelCase를 사용하며, initializeScreen, validateSearchConditions와 같이 목적이 명확한 동사+명사 형태로 작성됩니다.
  • 중앙 집중식 처리:

    • 오류 처리: handleError 함수를 통해 오류를 중앙에서 관리합니다.
    • API 호출: apiCall이라는 공통 함수를 통해 백엔드와 통신합니다.
    • 입력값 검증: validateSearchConditions와 같이 검증 로직을 별도 함수로 분리하여 관리합니다.
  • 성능 최적화:

    • 디바운싱(Debouncing): 검색어 입력 시 불필요한 API 호출을 막기 위해 500ms 디바운싱을 적용합니다.
    • 가상 스크롤링(Virtual Scrolling): 1,000건 이상의 대량 데이터 조회 시 그리드 성능 저하를 방지하기 위해 가상 스크롤을 사용합니다.
  • 주석 및 문서화:

    • change_history.txt를 통해 주요 변경 이력을 관리합니다.
    • 로직 문서에 상세한 함수 설명과 처리 흐름을 기록하여 유지보수성을 높입니다.

5. 자주 사용하는 명령어 및 워크플로우

Nexacro 프로젝트는 대부분 CLI가 아닌 Nexacro Studio IDE를 통해 개발이 진행됩니다.

  1. 프로젝트 열기: Nexacro Studio에서 C:\NexacroProject 폴더를 프로젝트로 엽니다.
  2. 애플리케이션 실행/테스트:
    • Launch 메뉴 또는 F5 키를 사용하여 QuickView로 애플리케이션을 실행하고 테스트합니다.
    • Debug 메뉴를 통해 스크립트 디버깅을 수행합니다.
  3. 빌드 및 배포:
    • Project > Build 메뉴를 통해 프로젝트를 빌드합니다. 결과물은 build 폴더에 생성됩니다.
    • 생성된 결과물을 웹 서버에 배포하여 운영 환경에 반영합니다.

6. 개발 환경 설정 방법

  1. Nexacro Studio 설치: config/project.json에 명시된 Nexacro Platform 17 버전에 맞는 Studio를 설치합니다.
  2. 프로젝트 임포트: Nexacro Studio에서 C:\NexacroProject 디렉터리를 프로젝트로 가져옵니다.
  3. 백엔드 서버 설정:
    • 로컬 개발을 위해 백엔드 API 서버(예: http://localhost:8080)를 실행합니다.
    • Nexacro Studio의 Project > Properties > Service에서 백엔드 서버 URL을 등록하거나 project.jsonserverUrl을 환경에 맞게 수정합니다.

7. 중요한 참고사항 및 고려사항

  • 백엔드 의존성: 이 프로젝트는 프론트엔드 UI/UX에 집중되어 있으며, 모든 데이터는 외부 백엔드 시스템과의 API 통신을 통해 처리됩니다. 따라서 백엔드 API의 가용성과 명세 준수가 매우 중요합니다.
  • 데이터베이스 스키마: docs/코일원자재입고량조회_개발문서.mdCOIL_MATERIAL_RECEIPT 테이블의 스키마가 정의되어 있으므로, 개발 시 참조해야 합니다.
  • 보안: 로직 문서에 XSS(Cross-Site Scripting) 및 기본적인 SQL Injection을 방지하기 위한 sanitizeInput 함수가 언급되어 있습니다. 입력값 처리에 항상 주의해야 합니다.
  • 문서 관리: docs 폴더에 설계 및 로직 문서가 잘 관리되고 있으며, change_history.txt를 통해 변경 이력을 추적하는 것이 중요합니다.