Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] : 1.0.0 배포 #325

Merged
merged 10 commits into from
Dec 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 132 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,135 @@ Temporary Items
# iCloud generated files
*.icloud

# End of https://www.toptal.com/developers/gitignore/api/macos
### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm

.build/

# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/

# Accio dependency management
Dependencies/
.accio/

# fastlane
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/

### SwiftPackageManager ###
Packages
xcuserdata
*.xcodeproj


### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Xcode ###

## Xcode 8 and earlier

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcodeproj/project.xcworkspace/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings

# End of https://www.toptal.com/developers/gitignore/api/macos,windows,xcode,swift,swiftpackagemanager
node_modules
# End of https://www.toptal.com/developers/gitignore/api/macos
26 changes: 21 additions & 5 deletions BE/musicspot/public/release.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,26 @@
<title>배포 페이지</title>
</head>
<body>
<a
href="itms-services://?action=download-manifest&url=https://github.com/SwiftyJunnos/ipa/raw/main/manifest.plist"
>0.1.1</a
>
<span>배포 2023.12.08</span>
<div>
<a
href="itms-services://?action=download-manifest&url=https://github.com/SwiftyJunnos/ipa/raw/main/manifest.plist"
>0.1.1</a
>
<span>배포 2023.12.08</span>
</div>
<div>
<a
href="itms-services://?action=download-manifest&url=https://github.com/SwiftyJunnos/ipa/raw/main/0.5.0/manifest.plist"
>0.5.0</a
>
<span>배포 2023.12.11</span>
</div>
<div>
<a
href="itms-services://?action=download-manifest&url=https://github.com/SwiftyJunnos/ipa/raw/main/1.0.0/manifest.plist"
>1.0.0</a
>
<span>배포 2023.12.14(최신)</span>
</div>
</body>
</html>
2 changes: 2 additions & 0 deletions BE/musicspot/src/common/util/coordinate.util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ export const is1DArray = (arr) => {
if (!isInCoordinateRange(arr)) {
return false;
}
} else {
return false;
}

return true;
Expand Down
19 changes: 3 additions & 16 deletions BE/musicspot/src/journey/controller/journey.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import {
} from '../dto/journeyRecord/journeyRecord.dto';
import { StartJourneyResDTO } from '../dto/journeyStart/journeyStart.dto';
import { DeleteJourneyReqDTO } from '../dto/journeyDelete.dto';
import { LastJourneyResDTO } from '../dto/journeyLast.dto';

@Controller('journey')
@ApiTags('journey 관련 API')
Expand Down Expand Up @@ -133,9 +134,9 @@ export class JourneyController {
})
@ApiCreatedResponse({
description: '사용자가 진행중이었던 여정 정보',
type: Journey,
type: LastJourneyResDTO,
})
@Get('loadLastData')
@Get('last')
async loadLastData(@Query('userId') userId: string) {
return await this.journeyService.loadLastJourney(userId);
}
Expand Down Expand Up @@ -166,17 +167,3 @@ export class JourneyController {
return await this.journeyService.deleteJourneyById(deleteJourneyDto);
}
}

// @ApiOperation({
// summary: '여정 조회 API',
// description: '해당 범위 내의 여정들을 반환합니다.',
// })
// @ApiCreatedResponse({
// description: '범위에 있는 여정의 기록들을 반환',
// type: CheckJourneyResDTO,
// })
// @Post('check')
// @UsePipes(ValidationPipe) //유효성 체크
// async checkPost(@Body() checkJourneyDTO: CheckJourneyReqDTO) {
// return await this.journeyService.checkJourney(checkJourneyDTO);
// }
86 changes: 86 additions & 0 deletions BE/musicspot/src/journey/dto/journeyLast.dto.ts
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;
}
Loading