docs: add project structure documentation and update main index file
This commit is contained in:
parent
2a8b6d41dc
commit
e4bcf53308
|
|
@ -0,0 +1,44 @@
|
||||||
|
# 프로젝트 구조 (Project Structure)
|
||||||
|
|
||||||
|
본 문서는 Kord 프로젝트의 주요 디렉터리와 아키텍처 구조를 설명합니다.
|
||||||
|
|
||||||
|
## 디렉터리 안내
|
||||||
|
|
||||||
|
### `src/` - 주요 소스 코드
|
||||||
|
|
||||||
|
본 봇의 모든 핵심 비즈니스 로직과 시스템 코드가 위치합니다.
|
||||||
|
|
||||||
|
- **`client/`**: `KordClient` 등 디스코드 봇 클라이언트 초기화 및 상태를 관리합니다.
|
||||||
|
- **`commands/`**: 디스코드 슬래시 명령어의 로직이 위치합니다.
|
||||||
|
- **`core/`**: 어플리케이션의 핵심 인프라 구성을 담당합니다. (`db.ts`, `command.ts` 기반 베이스 클래스 등)
|
||||||
|
- **`config/`**: 봇 구동 환경 및 전역 설정 관련 파일입니다.
|
||||||
|
- **`events/`** & **`handlers/`**: 디스코드 이벤트(messageCreate, interactionCreate 등)의 처리 및 바인딩을 담당합니다.
|
||||||
|
- **`i18n/`**: 다국어(한국어, 영어 등) 지원을 위한 로케일 데이터 및 번역 함수를 관리합니다.
|
||||||
|
- **`interactions/`**: 버튼, 셀렉트 메뉴, 모달 등 컴포넌트 상호작용 로직입니다.
|
||||||
|
- **`service/`** / **`services/`**: 각 도메인 별 비즈니스 로직 및 Prisma DB 읽기/쓰기 작업을 추상화한 서비스 계층입니다. (e.g. `FishingService`, `RefinementService`)
|
||||||
|
- **`utils/`**: 공통으로 사용되는 유틸리티 및 헬퍼 함수들입니다.
|
||||||
|
|
||||||
|
### `resource/` - 에셋 및 데이터 리소스
|
||||||
|
|
||||||
|
- 미니게임 아트웍(낚시 물고기 이미지, 무기 이미지 등) 및 정적 JSON 데이터(카탈로그, 확률표 등)를 보관합니다.
|
||||||
|
|
||||||
|
### `prisma/` - 데이터베이스 관리
|
||||||
|
|
||||||
|
- **`schema.prisma`**: PostgreSQL 데이터베이스의 스키마 명세입니다.
|
||||||
|
- **`migrations/`**: Prisma Migrate에 의해 자동 생성된 마이그레이션 이력입니다.
|
||||||
|
- **`seed.ts`**: 초기 데이터베이스 시딩을 위한 스크립트입니다.
|
||||||
|
|
||||||
|
### `Docs/` - 공식 문서
|
||||||
|
|
||||||
|
기능 명세, 트러블슈팅, 작업 내역, 데이터베이스 스키마 및 규칙 등 관리용 문서를 포함합니다. [`Docs/index.md`](index.md)를 중심으로 카테고리가 분류되어 있습니다.
|
||||||
|
|
||||||
|
### `tests/` - 테스트 코드
|
||||||
|
|
||||||
|
Jest 프레임워크를 기반으로 한 단위 테스트(Unit Test) 로직이 위치합니다. 주 도메인이나 `core`, `services` 코드에 대한 검증을 수행합니다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 향후 모놀리식 분리 (Modular Architecture) 진행 사항
|
||||||
|
|
||||||
|
최근 프로젝트 구조는 단일 스키마 구조에서 도메인/모듈 별로 패키지를 분리하기 위한 기초 작업이 진행되었습니다.
|
||||||
|
루트 디렉터리에 위치한 `schema_base.prisma`, `schema_feature.prisma`, `schema_main.prisma` 및 `package_feature.json`, `package_main.json` 파일들은 향후 핵심(Core/Base) 로직과 기능(Feature) 모듈을 독립적으로 빌드/관리하기 위해 도입될 예정(Work-in-Progress)입니다.
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
# Kord Documentation Index
|
# Kord Documentation Index
|
||||||
|
|
||||||
이 루트 색인 문서는 프로젝트 내의 모든 구조화된 문서를 카테고리별로 모아 탐색을 돕기 위해 작성되었습니다.
|
이 루트 색인 문서는 프로젝트 내의 모든 구조화된 문서를 카테고리별로 모아 탐색을 돕기 위해 작성되었습니다.
|
||||||
|
|
||||||
|
## 아키텍처 및 시스템 (Architecture & System)
|
||||||
|
|
||||||
|
- [프로젝트 구조 (Project Structure)](Project_Structure.md)
|
||||||
|
- [데이터베이스 스키마 구조 (Database Schema)](database-schema.md)
|
||||||
|
|
||||||
## 정책 및 규칙 (Rules)
|
## 정책 및 규칙 (Rules)
|
||||||
|
|
||||||
- [보안 가이드라인 (Security Rules)](Rules/security_guidelines.md)
|
- [보안 가이드라인 (Security Rules)](Rules/security_guidelines.md)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue