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 배포 #323

Closed
wants to merge 9 commits into from
Closed
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
137 changes: 136 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,139 @@ Temporary Items
# iCloud generated files
*.icloud

# End of https://www.toptal.com/developers/gitignore/api/macos
<<<<<<< HEAD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 확인 λΆ€νƒλ“œλ €μš”!

### 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
=======
# End of https://www.toptal.com/developers/gitignore/api/macos
>>>>>>> cfee8958f52b8f065d33aee44f7b2189cc3f530f
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