Skip to content

๐Ÿ–ผ ํŒ€ ํ”„๋กœ์ ํŠธ : ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ๋ฅผ ์ฃผ์ œ๋กœ ๋ฉค๋ฒ„๋ฅผ ๋ชจ์ง‘ํ•˜๊ณ  ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํšŒ์›๋ผ๋ฆฌ ์ฑ„ํŒ…์„ ํ•˜๋Š” ํ”Œ๋žซํผ ์ œ์ž‘

Notifications You must be signed in to change notification settings

S2uJeong/bucketList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

| |

- ์„œ๋ฒ„ ๋น„์šฉ ๋ฌธ์ œ๋กœ, notion๋งŒ ๋งํฌ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ๋ฐ ๋ชฉํ‘œ

  • ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ ๋ฐฑ์—”๋“œ ์Šค์ฟจ 2๊ธฐ์—์„œ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ํŒ€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰
  • ๊ณตํ†ต์˜ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ๋ฅผ ์ฃผ์ œ๋กœ ๋ฉค๋ฒ„๋ฅผ ๋ชจ์ง‘ํ•˜๊ณ  ์ฐธ์—ฌ, ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” Bucketlist ์‚ฌ์ดํŠธ ๊ตฌํ˜„

WEB(We arE Best) ํŒ€์›

์—ญํ•  ์ด๋ฆ„
PM ์ตœ์ˆ˜์ •
CTO ์ •์žฌํ˜„
Developer ๊ณ ๊ด€์šด
Server Developer ๋ฐ•์€๋นˆ
PD ๋ฐฐ์ง€์›
Developer ๋ณ€์ง€ํ™˜

EndPoint

๐Ÿ”— EndPoint_Notion

๊ฐœ๋ฐœํ™˜๊ฒฝ

  • JAVA 17
  • Build :
  • Framework : ,
  • DB : ,
  • Server : , ,
  • CI&CD :
  • IDE :
  • Front-End : , , , ,

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework:spring-messaging:6.0.3'
    implementation group: 'org.springframework.security', name: 'spring-security-messaging', version: '6.0.1'

    compileOnly 'org.projectlombok:lombok:1.18.20'
    runtimeOnly 'com.mysql:mysql-connector-j'
    annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    annotationProcessor 'org.projectlombok:lombok:1.18.20'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'org.springframework.security:spring-security-test'
    // swagger
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

    //SNS๋กœ๊ทธ์ธ์„ ์œ„ํ•œ ์˜์กด์„ฑ
    implementation 'io.jsonwebtoken:jjwt:0.9.1'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client:3.0.1'
    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'

    //== ์ด๋ฉ”์ผ ์ธ์ฆ์„ ์œ„ํ•œ ์˜์กด์„ฑ ์‹œ์ž‘ ==//
    implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.1'
    //== ์ด๋ฉ”์ผ ์ธ์ฆ์„ ์œ„ํ•œ ์˜์กด์„ฑ ๋ ==//

    //chat ๊ด€๋ จ ์˜์กด์„ฑ
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    implementation group: 'com.google.code.gson', name: 'gson', version: '2.10'
    implementation 'org.webjars:sockjs-client:1.5.1'
    implementation 'org.webjars:stomp-websocket:2.3.4'
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.14.1'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.0.1'

    //querydsl(์Šคํ”„๋ง ๋ถ€ํŠธ 3.0 ์ด์ƒ)
    implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
    annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
    annotationProcessor "jakarta.annotation:jakarta.annotation-api"
    annotationProcessor "jakarta.persistence:jakarta.persistence-api"

    // test์—์„œ ์‚ฌ์šฉํ•  springframework ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์‹œํ‚ด
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testCompileOnly 'org.projectlombok:lombok:1.18.20' // ํ…Œ์ŠคํŠธ ์˜์กด์„ฑ ์ถ”๊ฐ€
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.20' // ํ…Œ์ŠคํŠธ ์˜์กด์„ฑ ์ถ”๊ฐ€

    // ์บ์‹ฑ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์˜์กด์„ฑ
    implementation 'org.springframework.boot:spring-boot-starter-cache'

    // Image ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ ์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ ์˜์กด์„ฑ ์ถ”๊ฐ€
    implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

    // ์ •์  ํŒŒ์ผ ๋นŒ๋“œ ์•ˆํ•˜๊ณ  ๋ฐ”๋กœ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    implementation 'org.springframework.boot:spring-boot-devtools:3.0.2'
}

์ธํ”„๋ผ ์•„ํ‚คํ…์ฒ˜

bucketlist-์•„ํ‚คํ…์ฒ˜-์ตœ์ข…

ERD

๐Ÿ“Ž ERD-CLOUD ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ (2)

ERROR CODE

๋„๋ฉ”์ธ ์—๋Ÿฌ์ฝ”๋“œ ์„ค๋ช…
๊ณตํ†ต DUPLICATED_EMAIL ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.
DUPLICATED_USERNAME userName์ด ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.
DUPLICATED_ALARM ์•Œ๋žŒ์ด ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.
INCORRECT_PASSWORD_CORRECT Email์ด ์ค‘๋ณต๋ฉ๋‹ˆ๋‹ค.
INVALID_PASSWORD ํŒจ์Šค์›Œ๋“œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
USERNAME_NOT_FOUNDED ํ•ด๋‹น ์‚ฌ์šฉ์ž๋Š” ์—†์Šต๋‹ˆ๋‹ค.
INVALID_PERMISSION ์‚ฌ์šฉ์ž๊ฐ€ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.
DATABASE_ERROR DB์—๋Ÿฌ
ALARM_NOT_FOUND ํ•ด๋‹น ์•Œ๋žŒ์ด ์—†์Šต๋‹ˆ๋‹ค.
ํฌ์ŠคํŠธ POST_NOT_FOUND ํ•ด๋‹น ํฌ์ŠคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
DUPLICATED_LIKE ๊ฐ™์€ ๊ธ€์— ์ข‹์•„์š”๋ฅผ ๋‘ ๋ฒˆ ๋ˆŒ๋ €์Šต๋‹ˆ๋‹ค.
APPLICATION_NOT_FOUND ํ•ด๋‹น ์‹ ์ฒญ์„œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
EXCEED_ENTRANT_NUM ์ฐธ๊ฐ€์ž ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ INVALID_TOKEN ์ž˜๋ชป๋œ ํ† ํฐ์ž…๋‹ˆ๋‹ค.
REFRESH_TOKEN_NOT_FOUNDED ํ•ด๋‹น ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์ด ์—†์Šต๋‹ˆ๋‹ค.
INVALID_REFRESH_TOKEN refresh token ๋งŒ๋ฃŒ
ํŒŒ์ผ FILE_NOT_EXISTS ๋นˆ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
FILE_UPLOAD_ERROR ํŒŒ์ผ ์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
WRONG_FILE_FORMAT ํŒŒ์ผ ํ˜•์‹์ด ํ‹€๋ฆฝ๋‹ˆ๋‹ค.
๋Œ“๊ธ€ COMMENT_NOT_FOUND ํ•ด๋‹น ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.
ํ”„๋กœํ•„ PROFILE_NOT_FOUND ํ•ด๋‹น ํ”„๋กœํ•„์ด ์—†์Šต๋‹ˆ๋‹ค.
๋ฆฌ๋ทฐ REVIEW_NOT_FOUND ํ•ด๋‹น ๋ฆฌ๋ทฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์ฑ„ํŒ… CHAT_ROOM_NOT_FOUND ์ฑ„ํŒ…๋ฐฉ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ๋ฆฌ์ŠคํŠธ

  • ๊ฒŒ์‹œ๊ธ€
    • ์ „์ฒด ๊ฒŒ์‹œ๊ธ€, ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ํ™•์ธ ๊ฐ€๋Šฅ
    • ํผ์„ ํ†ตํ•ด ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋‚ ์งœ, ์ง€๋„(์นด์นด์˜ค๋งต API), ์ด๋ฏธ์ง€ ์ถ”๊ฐ€
    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ๊ฒŒ์‹œ๊ธ€์—์„œ ๋Œ“๊ธ€๊ณผ ๋Œ€๋Œ“๊ธ€, ์ฐธ๊ฐ€ ์‹ ์ฒญ, ์ข‹์•„์š” ๊ธฐ๋Šฅ
    • ํ˜ธ์ŠคํŠธ๋Š” ์ฐธ๊ฐ€ ์‹ ์ฒญ์„œ๋ฅผ ๋ณด๊ณ  ์ฐธ๊ฐ€์ž๋ฅผ ์„ ํƒ
    • ์ฐธ๊ฐ€ ์ธ์›์ด ๋‹ฌ์„ฑ๋˜๊ฑฐ๋‚˜ ๋ชจ์ง‘๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜๋ฉด ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์— ์ฐธ์—ฌ ์‹ ์ฒญ์ด ๋งˆ๊ฐ(์ค‘๋ณต ์‹ ์ฒญ ๋ฐฉ์ง€)
    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ์ดํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ์ฐธ๊ฐ€์ž์™€ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ํ‰์ ์„ ์ž‘์„ฑ
    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ๋ฆฌ๋ทฐ ์ถœ๋ ฅ
    • ํฌ์ŠคํŠธ ์—…๋กœ๋“œ ์‚ฌ์ง„ ์šฉ๋Ÿ‰ ์ œํ•œ
  • ์ฑ„ํŒ…๋ฐฉ
    • ๊ทธ๋ฃน ์ฑ„ํŒ…
    • ์ฑ„ํŒ…์— jwt์ธ์ฆ, ์—๋Ÿฌํ•ธ๋“ค๋ง
    • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์‹œ ์ฑ„ํŒ…๋ฐฉ ์ž๋™ ์ƒ์„ฑ
    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ์‹ ์ฒญ์„œ๊ฐ€ ์ˆ˜๋ฝ๋  ๊ฒฝ์šฐ ์ฑ„ํŒ…๋ฐฉ์— ์ž๋™ ์ดˆ๋Œ€
    • ์ฑ„ํŒ…๋ฐฉ ๋‚˜๊ฐ€๊ธฐ, ํ˜ธ์ŠคํŠธ์˜ ํŒ€์› ๊ฐ•ํ‡ด ๊ธฐ๋Šฅ
  • ๋งˆ์ดํ”ผ๋“œ
    • ๋ณธ์ธ๋งŒ ํ™•์ธ ๊ฐ€๋Šฅ
    • ์ž‘์„ฑ, ์ข‹์•„์š”, ์‹ ์ฒญ, ์Šน๋‚™, ์™„๋ฃŒํ•œ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ๊ฐ€ ์ถœ๋ ฅ
  • ํ”„๋กœํ•„
    • ๋ณธ์ธ ์™ธ ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๊นŒ์ง€ ํ™•์ธ ๊ฐ€๋Šฅ
    • ํ”„๋กœํ•„ ์‚ฌ์ง„, ์ด๋ฉ”์ผ, ํ‰์ , ๋ฆฌ๋ทฐ๊ฐ€ ์ถœ๋ ฅ
    • ํ”„๋กœํ•„ ์‚ฌ์ง„์€ ๋ณธ์ธ ํ”„๋กœํ•„์ธ ๊ฒฝ์šฐ๋งŒ ์ˆ˜์ • ๊ฐ€๋Šฅ
    • ํ”„๋กœํ•„ ์—…๋กœ๋“œ ์‚ฌ์ง„ ์šฉ๋Ÿ‰ ์ œํ•œ
    • ํ”„๋กœํ•„ ์ฃผ์ธ์˜ ํ‰์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธ
  • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ
    • Email ์ธ์ฆ
    • ๋„ค์ด๋ฒ„, ๊ตฌ๊ธ€ API๋ฅผ ์‚ฌ์šฉํ•œ ๋กœ๊ทธ์ธ
    • ์ผ๋ฐ˜, snsํšŒ์› ์ค‘๋ณต ํšŒ์›๊ฐ€์ž… ๋ฐฉ์ง€
  • ์•Œ๋žŒ
    • ์‹ ๊ทœ ๋Œ“๊ธ€, ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ์ฐธ๊ฐ€ ์‹ ์ฒญ, ์ข‹์•„์š”, ๋ฆฌ๋ทฐ ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ
    • ๋ชจ๋‘ ์ฝ์Œ ์ฒ˜๋ฆฌ
  • ๊ฒ€์ƒ‰/ํ•„ํ„ฐ๋ง
    • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
    • ์ผ์ •, ๊ฐ€๊ฒฉ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
    • ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ

UI ๊ฐœ๋ฐœ

  • ํ™ˆ

    • ํ™ˆ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋กœ๊ณ , ์ฑ„ํŒ…๋ฐฉ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ํ—ค๋”์™€ ํ‘ธํ„ฐ
    • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ๋ชจ๋‹ฌ
    • ํ™ˆํ™”๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ

    screencapture-ourbucketlist-link-2023-02-14-15_06_49

    screencapture-ourbucketlist-link-2023-02-14-15_06_59

  • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ

    • ๋‚ ์งœ, ๊ฐ€๊ฒฉ ๋ณ„๋กœ ํ•„ํ„ฐ๋ง

    ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ

  • ํฌ์ŠคํŠธ

    • ํผ์„ ํ†ตํ•œ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ
    • ์ œ๋ชฉ, ์ผ์ž, ์œ„์น˜ ๋“ฑ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ์ •๋ณด, ์ง€๋„, ์‚ฌ์ง„
    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ์ฐธ๊ฐ€ ์‹ ์ฒญ, ๋Œ“๊ธ€ ์ž‘์„ฑ

    screencapture-ourbucketlist-link-post-createform-2023-02-14-15_18_56

    screencapture-ourbucketlist-link-post-88-2023-02-14-15_09_51

  • ์ฑ„ํŒ…

    • ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ํ˜ธ์ŠคํŠธ์™€ ์ฐธ์—ฌ์ž์—๊ฒŒ ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ์ฑ„ํŒ…๋ฐฉ

    screencapture-ourbucketlist-link-chat-room-2023-02-14-16_19_20

  • ์•Œ๋žŒ

    • ๋กœ๊ทธ์ธํ•˜๋ฉด ๋Œ“๊ธ€, ๊ฒŒ์‹œ๋ฌผ ์ƒํƒœ์— ๋”ฐ๋ฅธ ์•Œ๋ฆผ ํ™•์ธ ๊ฐ€๋Šฅ

    ์•Œ๋ฆผ - ๋ณต์‚ฌ๋ณธ

  • ๋งˆ์ดํ”ผ๋“œ

    • ์ž‘์„ฑํ•œ, ์ข‹์•„์š”ํ•œ, ์‹ ์ฒญํ•œ, ์Šน๋‚™๋ฐ›์€, ์™„๋ฃŒํ•œ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ํ™•์ธ

    screencapture-ourbucketlist-link-my-2023-02-14-17_06_44

    ์‹ ์ฒญํ•œ ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ ํด๋ฆญํ•œ ๋ชจ์Šต

  • ๋งˆ์ดํŽ˜์ด์ง€

    • ํ”„๋กœํ•„ ์‚ฌ์ง„, ์œ ์ € ์ด๋ฆ„, ์œ ์ € ์ด๋ฉ”์ผ, ํ‰์ , ๋ฆฌ๋ทฐ ์ถœ๋ ฅ

    ๋ฆฌ๋ทฐ

WEEKLY LOG

๐Ÿ”— 1์ฃผ์ฐจ ์œ„ํด๋ฆฌ

๐Ÿ”— 2์ฃผ์ฐจ ์œ„ํด๋ฆฌ

๐Ÿ”— 3์ฃผ์ฐจ ์œ„ํด๋ฆฌ

๐Ÿ”— 4์ฃผ์ฐจ ์œ„ํด๋ฆฌ

๐Ÿ”— 5์ฃผ์ฐจ ์œ„ํด๋ฆฌ

About

๐Ÿ–ผ ํŒ€ ํ”„๋กœ์ ํŠธ : ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ๋ฅผ ์ฃผ์ œ๋กœ ๋ฉค๋ฒ„๋ฅผ ๋ชจ์ง‘ํ•˜๊ณ  ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํšŒ์›๋ผ๋ฆฌ ์ฑ„ํŒ…์„ ํ•˜๋Š” ํ”Œ๋žซํผ ์ œ์ž‘

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published