https://github.com/mash-up-kr/dhc-server
서버는 네트워크상의 다른 컴퓨터나 기기에 다양한 서비스를 제공하는 컴퓨터 시스템입니다. 파일 공유, 웹사이트 호스팅, 데이터베이스 관리, 이메일 서비스 등 다양한 기능을 수행하며, 기업이나 개인의 IT 인프라를 구성하는 핵심 요소입니다.
https://github.com/mash-up-kr/dhc-server
gemini kotlin ktor mongodb ncp terraform
Last synced: 3 months ago
JSON representation
서버는 네트워크상의 다른 컴퓨터나 기기에 다양한 서비스를 제공하는 컴퓨터 시스템입니다. 파일 공유, 웹사이트 호스팅, 데이터베이스 관리, 이메일 서비스 등 다양한 기능을 수행하며, 기업이나 개인의 IT 인프라를 구성하는 핵심 요소입니다.
- Host: GitHub
- URL: https://github.com/mash-up-kr/dhc-server
- Owner: mash-up-kr
- License: unlicense
- Created: 2025-04-19T07:46:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-15T14:41:41.000Z (3 months ago)
- Last Synced: 2026-04-15T15:03:32.370Z (3 months ago)
- Topics: gemini, kotlin, ktor, mongodb, ncp, terraform
- Language: Kotlin
- Homepage:
- Size: 1.28 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
README
# 돔황챠,,,🚗
## API 관련 문의는 맨 앞사람에게
| 조성아 | 이준표 | 김도현 |
|:---------------------------------------------------:|:--------------------------------------------------:|:-----------------------------------------------:|
|  |  |  |
| [*seongahjo*](https://github.com/seongahjo) | [*wnsvy607*](https://github.com/wnsvy607) | [*k-diger*](https://github.com/k-diger) |
---
## 이모저모 돔황챠 서버의 컨셉
### 1. 몽고답게 쓰기
- 도메인 객체 파일 최소화
- 애그리게이트 루트를 끌고오는거처럼 다때려박기 == 사용자가 루트임
### 2. 코틀린답게 쓰기
- 확장 함수는 확실하게 동사느낌나면 해보기
- 알잘딱으로!
- Infix
- DSL(일종의 람다)
- 한 파일에 다넣기 (샘플 참고)
### 3. DTO
- 도메인 단위로 뿌리기 (이건 API 어케 조립할지 물어보는 비용 있을 수 있음)
- 화면 단위로 뿌리기 (굳이 커뮤니케이션 더 안해도 알아서 쓸 수 있음) --> 이걸로 갈게유
### 4. 테스트 프레임워크
- JUnit
- Kotest
### 5. R&R
-
### 6. ETC
- Ktlint
---
## 현재 패키지 구조 및 설명
```
com.mashup.dhc
├── Application.kt # main entry point
├── plugins # Ktor 플러그인 설정
├── routes # 라우팅 핸들러
├── domain # 도메인 모델
│ ├── model # 도메인 모델 클래스
│ └── service # 도메인 서비스
└── utils # 공통 유틸리티
```
---
## API 문서
- OpenAPI 3.0 스펙 문서: [`src/main/resources/openapi/documentation.yaml`](src/main/resources/openapi/documentation.yaml)
---
## 테스트
- [Kotest](https://kotest.io/)를 사용하여 테스트를 작성할 수 있습니다.
- 테스트 실행:
```
./gradlew test
```