본문으로 건너뛰기

개발자 가이드 ​

Universe Map은 정적 Angular·Three.js 애플리케이션입니다. 렌더링 엔진은 프레임워크와 독립적이며 Angular는 타입이 지정된 파사드와 엔진 이벤트를 통해 인터페이스를 관리합니다.

설치와 실행 ​

요구 사항은 Node.js 22와 npm입니다.

bash
git clone https://github.com/Nayruuu/my-universe.git
cd my-universe/client
npm ci
npm start

Angular 개발 서버는 기본적으로 http://localhost:4200에서 시작합니다.

구조 ​

text
client/src/
├── app/       Angular UI, 상태, 검색, 설정과 URL 동기화
├── engine/    Three.js 장면, 카메라, 렌더링, LOD, 타일과 시뮬레이션
└── data/      엄격한 모델과 런타임 검증

client/public/
├── data/      버전 관리되는 정적 천문 데이터
└── textures/  로컬 텍스처와 출처

docs/guide/    공개 가이드의 Markdown 원본

client/src/engine은 Angular를 가져오지 않아야 합니다. Three.js 리소스를 만드는 단위가 폐기도 담당하며 시간 계산은 렌더 루프와 분리합니다.

주요 명령 ​

bash
cd client
npm run typecheck
npm run lint
npm run test:data
npm run test:coverage
npm run build
npm run test:e2e
npm run verify:ci
npm run verify

커버리지 게이트는 프로덕션 코드의 구문·분기·함수·줄 100%를 요구합니다. verify:ci는 빠른 배포 게이트이고 verify는 모든 데스크톱·모바일 Playwright 여정을 추가합니다.

애플리케이션과 가이드는 프랑스어, 영어, 스페인어, 독일어, 이탈리아어, 한국어, 일본어와 중국어 간체를 지원합니다. 앱은 /fr/부터 /zh/까지 사용하고 가이드 영어는 /guide/, 번역은 /guide/ko/, /guide/fr/ 등에 있습니다. 중국어 표준 태그는 zh-Hans입니다.

I18nService는 엔진을 Angular에 결합하지 않고 텍스트, 숫자 형식과 번역 이름을 관리합니다. SeoService는 메타데이터, canonical, hreflang, 매니페스트와 JSON-LD를 동기화하며 빌드는 검색 엔진이 바로 읽을 HTML을 생성합니다. 데이터 파이프라인은 브라우저 밖에서 카탈로그를 정규화하고 정적 이진 파일과 타일을 만듭니다. 런타임 애플리케이션 API를 추가하지 마세요.

풀 리퀘스트 전에는 UI–엔진 경계를 지키고 과학 계산에 독립 참조 테스트를 추가하며 사용자 변경은 npm run verify로 마무리합니다. 전체 구현 문서는 docs/TECHNICAL_REFERENCE.md입니다.

다음: 자주 묻는 질문.

과학 데이터와 시각적 조정은 별도로 표시됩니다.