139 lines
3.6 KiB
Markdown
139 lines
3.6 KiB
Markdown
# Development Guide
|
|
|
|
## Naming Note
|
|
|
|
공개 브랜드는 `KoTalk`이지만, 현재 저장소의 프로젝트 파일과 네임스페이스는 아직 `PhysOn.*`를 사용합니다.
|
|
문서 개편이 먼저 진행 중이며, 코드 네임스페이스 정렬은 별도 작업으로 다룹니다.
|
|
|
|
## Requirements
|
|
|
|
- `.NET 8 SDK`
|
|
- Git
|
|
- Node.js 20+
|
|
- Windows portable 빌드를 만들려면 `win-x64` publish 가능한 .NET 환경
|
|
|
|
Android 채널을 다룰 때는 아래가 추가로 필요합니다.
|
|
|
|
- `OpenJDK 17+`
|
|
- `.NET Android workload`
|
|
- Android SDK / cmdline-tools
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
git clone <repository-url>
|
|
cd vs-messanger
|
|
dotnet build PhysOn.sln -c Debug
|
|
```
|
|
|
|
## Run The API
|
|
|
|
```bash
|
|
dotnet run --project src/PhysOn.Api --urls http://127.0.0.1:5082
|
|
```
|
|
|
|
기본 확인 URL:
|
|
|
|
- [http://127.0.0.1:5082/health](http://127.0.0.1:5082/health)
|
|
- [http://127.0.0.1:5082/](http://127.0.0.1:5082/)
|
|
|
|
접근 게이트나 시드 값은 공개 문서에 고정하지 않습니다. 필요한 값은 로컬 환경 변수나 비공개 배포 설정에서 넣어야 합니다.
|
|
|
|
## Run The Desktop Client
|
|
|
|
```bash
|
|
dotnet run --project src/PhysOn.Desktop
|
|
```
|
|
|
|
기본 입력값:
|
|
|
|
- 서버 주소: `http://127.0.0.1:5082`
|
|
|
|
## Run The Mobile Web Client
|
|
|
|
```bash
|
|
cd src/PhysOn.Web
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
기본 개발 주소:
|
|
|
|
- 웹앱: [http://127.0.0.1:4173](http://127.0.0.1:4173)
|
|
- API 프록시 기본값: [http://127.0.0.1:5082](http://127.0.0.1:5082)
|
|
|
|
## Test
|
|
|
|
```bash
|
|
dotnet test tests/PhysOn.Api.IntegrationTests/PhysOn.Api.IntegrationTests.csproj
|
|
```
|
|
|
|
필요 시 전체 확인:
|
|
|
|
```bash
|
|
dotnet build PhysOn.sln -c Debug
|
|
dotnet test PhysOn.sln -c Debug
|
|
```
|
|
|
|
## Release Builds
|
|
|
|
Windows:
|
|
|
|
```bash
|
|
./scripts/release/build-windows-distributions.sh \
|
|
--version 2026.04.16-alpha.6
|
|
```
|
|
|
|
생성물:
|
|
|
|
- `KoTalk-windows-x64-<version>.zip`
|
|
- `KoTalk-windows-x64-onefile-<version>.exe`
|
|
- `KoTalk-windows-x64-installer-<version>.exe`
|
|
|
|
Android:
|
|
|
|
```bash
|
|
./scripts/release/build-android-apk.sh \
|
|
--version 2026.04.16-alpha.6
|
|
```
|
|
|
|
공개 산출물 네이밍은 `KoTalk-*` 기준으로 정리하는 방향이고, 현재 내부 스크립트와 프로젝트명은 별도 정렬 단계에 있습니다.
|
|
|
|
## Release Metadata
|
|
|
|
```bash
|
|
./scripts/release/release-prepare-assets.sh \
|
|
--version 2026.04.16-alpha.6 \
|
|
--channel alpha \
|
|
--windows-zip artifacts/builds/2026.04.16-alpha.6/KoTalk-windows-x64-2026.04.16-alpha.6.zip \
|
|
--windows-portable-exe artifacts/builds/2026.04.16-alpha.6/KoTalk-windows-x64-onefile-2026.04.16-alpha.6.exe \
|
|
--windows-installer-exe artifacts/builds/2026.04.16-alpha.6/KoTalk-windows-x64-installer-2026.04.16-alpha.6.exe \
|
|
--android-apk artifacts/builds/2026.04.16-alpha.6/KoTalk-android-universal-2026.04.16-alpha.6.apk \
|
|
--screenshots artifacts/screenshots \
|
|
--force
|
|
```
|
|
|
|
## Deployment Notes
|
|
|
|
- 공개 웹 진입점: [vstalk.phy.kr](https://vstalk.phy.kr)
|
|
- 공식 다운로드 미러: [download-vstalk.phy.kr](https://download-vstalk.phy.kr)
|
|
- 저장소 릴리즈 경로: [RELEASING.md](RELEASING.md)
|
|
|
|
실제 호스트 주소, 관리자 계정, 배포용 비밀값은 공개 문서에 적지 않습니다.
|
|
|
|
## Troubleshooting
|
|
|
|
### Desktop window does not open on Linux/WSL
|
|
|
|
- X 서버 또는 데스크톱 세션이 있는지 확인합니다.
|
|
- GUI가 없는 환경이면 API와 테스트만 먼저 확인합니다.
|
|
|
|
### Download links do not open
|
|
|
|
- [download-vstalk.phy.kr](https://download-vstalk.phy.kr) DNS와 HTTPS 상태를 확인합니다.
|
|
- 저장소 릴리즈 경로가 최신인지 함께 확인합니다.
|
|
|
|
### Web app does not open
|
|
|
|
- [vstalk.phy.kr](https://vstalk.phy.kr) DNS와 프록시 상태를 확인합니다.
|
|
- 정적 파일 배포 루트가 맞는지 확인합니다.
|