-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
380 changed files
with
20,054 additions
and
53 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
2 changes: 1 addition & 1 deletion
2
.github/ISSUE_TEMPLATE/이슈-템플릿.md → .github/ISSUE_TEMPLATE/issue_template.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
--- | ||
name: 이슈 템플릿 | ||
name: ISSUE_TEMPLATE | ||
about: 공통적으로 사용되는 이슈 템플릿 | ||
title: '' | ||
labels: '' | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
name: Xcode_build_test | ||
|
||
env: | ||
WORKSPACE: iOS/MusicSpot.xcworkspace | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- 'iOS/release' | ||
- 'iOS/epic/**' | ||
types: [assigned, labeled, opened, synchronize, reopened] | ||
|
||
jobs: | ||
prepare-matrix: | ||
runs-on: macos-13 | ||
outputs: | ||
matrix: ${{ steps.generate-matrix.outputs.matrix }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Xcode | ||
if: ${{ !env.ACT }} | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: '15.0.1' | ||
|
||
- name: Generate matrix | ||
id: generate-matrix | ||
run: | | ||
matrix="{\"include\":[" | ||
first_entry=true | ||
for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do | ||
if [[ $scheme != *"-Package" ]] && [[ $scheme != *"Tests" ]]; then | ||
if [ "$first_entry" = true ]; then | ||
first_entry=false | ||
else | ||
matrix+="," | ||
fi | ||
matrix+="{\"scheme\":\"$scheme\"}" | ||
fi | ||
done | ||
matrix+="]}" | ||
echo "matrix=$matrix" >> $GITHUB_OUTPUT | ||
xcode-build: | ||
needs: prepare-matrix | ||
runs-on: macos-13 | ||
strategy: | ||
fail-fast: false | ||
matrix: ${{fromJson(needs.prepare-matrix.outputs.matrix)}} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Create secret file | ||
env: | ||
API_SECRET: ${{ secrets.API_SECRET }} | ||
run: | | ||
echo $API_SECRET | base64 -D -o iOS/MSData/Sources/MSData/Resources/APIInfo.plist | ||
- name: Setup Xcode | ||
if: ${{ !env.ACT }} | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: '15.0.1' | ||
|
||
- name: 🛠️ Build ${{ matrix.scheme }} | ||
run: | | ||
echo "🛠️ Building ${{ matrix.scheme }}" | ||
xcodebuild \ | ||
-workspace ${{ env.WORKSPACE }} \ | ||
-scheme ${{ matrix.scheme }} \ | ||
-sdk 'iphonesimulator' \ | ||
-destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ | ||
clean build | ||
prepare-test-matrix: | ||
runs-on: macos-13 | ||
outputs: | ||
matrix: ${{ steps.generate-test-matrix.outputs.matrix }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Xcode | ||
if: ${{ !env.ACT }} | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: '15.0.1' | ||
|
||
- name: Generate test matrix | ||
id: generate-test-matrix | ||
run: | | ||
matrix="{\"include\":[" | ||
first_entry=true | ||
for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do | ||
if [[ $scheme == *"Tests" ]]; then | ||
if [ "$first_entry" = true ]; then | ||
first_entry=false | ||
else | ||
matrix+="," | ||
fi | ||
matrix+="{\"scheme\":\"$scheme\"}" | ||
fi | ||
done | ||
matrix+="]}" | ||
echo "matrix=$matrix" >> $GITHUB_OUTPUT | ||
xcode-test: | ||
needs: prepare-test-matrix | ||
runs-on: macos-13 | ||
strategy: | ||
fail-fast: false | ||
matrix: ${{fromJson(needs.prepare-test-matrix.outputs.matrix)}} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Create secret file | ||
env: | ||
API_SECRET: ${{ secrets.API_SECRET }} | ||
run: | | ||
echo $API_SECRET | base64 -D -o iOS/MSData/Sources/MSData/Resources/APIInfo.plist | ||
- name: Setup Xcode | ||
if: ${{ !env.ACT }} | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: '15.0.1' | ||
|
||
- name: 🧪 Test ${{ matrix.scheme }} | ||
run: | | ||
echo "🧪 Testing ${{ matrix.scheme }}" | ||
xcodebuild \ | ||
-workspace ${{ env.WORKSPACE }} \ | ||
-scheme ${{ matrix.scheme }} \ | ||
-sdk 'iphonesimulator' \ | ||
-destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \ | ||
test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { IsString, IsDateString } from 'class-validator'; | ||
import { UUID } from 'crypto'; | ||
|
||
export class SpotDTO { | ||
@ApiProperty({ description: '여정 ID', example: '65649c91380cafcab8869ed2' }) | ||
readonly journeyId: string; | ||
|
||
@ApiProperty({ description: 'spot 위치', example: [37.555913, 126.972313] }) | ||
readonly coordinate: number[]; | ||
|
||
@ApiProperty({ description: '기록 시간', example: '2023-11-22T12:00:00Z' }) | ||
readonly timestamp: string; | ||
|
||
@ApiProperty({ | ||
description: 'presigned url', | ||
example: | ||
'https://music-spot-storage.kr.object.ncloudstorage.com/path/name?AWSAccessKeyId=key&Expires=sec&Signature=signature', | ||
}) | ||
readonly photoUrl: string; | ||
} | ||
|
||
class journeyMetadataDto { | ||
@ApiProperty({ | ||
description: '여정 시작 시간', | ||
example: '2023-11-22T15:30:00.000+09:00', | ||
}) | ||
readonly startTimestamp: string; | ||
|
||
@ApiProperty({ | ||
description: '여정 종료 시간', | ||
example: '2023-11-22T15:30:00.000+09:00', | ||
}) | ||
readonly endTimestamp: string; | ||
} | ||
|
||
export class JourneyDTO { | ||
@ApiProperty({ description: '여정 ID', example: '65649c91380cafcab8869ed2' }) | ||
readonly _id: string; | ||
|
||
@ApiProperty({ description: '여정 제목', example: '여정 제목' }) | ||
readonly title: string; | ||
|
||
@ApiProperty({ type: [SpotDTO], description: 'spot 배열' }) | ||
readonly spots: SpotDTO[]; | ||
|
||
@ApiProperty({ | ||
description: '위치 좌표 배열', | ||
example: [ | ||
[37.775, 122.4195], | ||
[37.7752, 122.4197], | ||
[37.7754, 122.4199], | ||
], | ||
}) | ||
readonly coordinates: number[][]; | ||
|
||
@ApiProperty({ description: '여정 메타데이터', type: journeyMetadataDto }) | ||
readonly journeyMetadata: journeyMetadataDto; | ||
} | ||
|
||
export class LastJourneyResDTO { | ||
@ApiProperty({ description: '여정 ID', example: '65649c91380cafcab8869ed2' }) | ||
readonly _id: string; | ||
|
||
@ApiProperty({ description: '여정 제목', example: '여정 제목' }) | ||
readonly title: string; | ||
|
||
@ApiProperty({ type: [SpotDTO], description: 'spot 배열' }) | ||
readonly spots: SpotDTO[]; | ||
|
||
@ApiProperty({ | ||
description: '위치 좌표 배열', | ||
example: [ | ||
[37.775, 122.4195], | ||
[37.7752, 122.4197], | ||
[37.7754, 122.4199], | ||
], | ||
}) | ||
readonly coordinates: number[][]; | ||
|
||
@ApiProperty({ description: '여정 메타데이터', type: journeyMetadataDto }) | ||
readonly journeyMetadata: journeyMetadataDto; | ||
|
||
@ApiProperty({ description: '여정 마무리 여부' }) | ||
readonly isRecording: boolean; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.