- ๋ฉ์์ด ์ฌ์์ฒ๋ผ ๋ฐฑ์๋ ์ค์ฟจ 2๊ธฐ์์ ๋ฐฐ์ ๋ ๋ด์ฉ์ ํ ๋๋ก ํ ํ๋ก์ ํธ ์งํ
- ๊ณตํต์ ๋ฒํท๋ฆฌ์คํธ๋ฅผ ์ฃผ์ ๋ก ๋ฉค๋ฒ๋ฅผ ๋ชจ์งํ๊ณ ์ฐธ์ฌ, ํ๊ธฐ๋ฅผ ์์ฑํ๋ Bucketlist ์ฌ์ดํธ ๊ตฌํ
์ญํ | ์ด๋ฆ |
---|---|
PM | ์ต์์ |
CTO | ์ ์ฌํ |
Developer | ๊ณ ๊ด์ด |
Server Developer | ๋ฐ์๋น |
PD | ๋ฐฐ์ง์ |
Developer | ๋ณ์งํ |
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'
}
๋๋ฉ์ธ | ์๋ฌ์ฝ๋ | ์ค๋ช |
---|---|---|
๊ณตํต | 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ํ์ ์ค๋ณต ํ์๊ฐ์ ๋ฐฉ์ง
- ์๋
- ์ ๊ท ๋๊ธ, ๋ฒํท๋ฆฌ์คํธ ์ฐธ๊ฐ ์ ์ฒญ, ์ข์์, ๋ฆฌ๋ทฐ ์ค์๊ฐ ์๋ฆผ
- ๋ชจ๋ ์ฝ์ ์ฒ๋ฆฌ
- ๊ฒ์/ํํฐ๋ง
- ๊ฒ์ ๊ธฐ๋ฅ
- ์ผ์ , ๊ฐ๊ฒฉ ํํฐ๋ง ๊ธฐ๋ฅ
- ํ
์คํธ ์ฝ๋
- ์ปจํธ๋กค๋ฌ ํ ์คํธ
-
ํ
- ํ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ ๋ก๊ณ , ์ฑํ ๋ฐฉ ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๊ฒ์ ๊ธฐ๋ฅ์ด ํฌํจ๋ ํค๋์ ํธํฐ
- ํ์๊ฐ์ , ๋ก๊ทธ์ธ ๋ชจ๋ฌ
- ํํ๋ฉด ์นดํ ๊ณ ๋ฆฌ
-
๋ฒํท๋ฆฌ์คํธ
- ๋ ์ง, ๊ฐ๊ฒฉ ๋ณ๋ก ํํฐ๋ง
-
ํฌ์คํธ
- ํผ์ ํตํ ๊ฒ์๊ธ ์์ฑ
- ์ ๋ชฉ, ์ผ์, ์์น ๋ฑ ๋ฒํท๋ฆฌ์คํธ ์ ๋ณด, ์ง๋, ์ฌ์ง
- ๋ฒํท๋ฆฌ์คํธ ์ฐธ๊ฐ ์ ์ฒญ, ๋๊ธ ์์ฑ
-
์ฑํ
- ๋ฒํท๋ฆฌ์คํธ ํธ์คํธ์ ์ฐธ์ฌ์์๊ฒ ์๋ ์์ฑ๋๋ ์ฑํ ๋ฐฉ
-
์๋
- ๋ก๊ทธ์ธํ๋ฉด ๋๊ธ, ๊ฒ์๋ฌผ ์ํ์ ๋ฐ๋ฅธ ์๋ฆผ ํ์ธ ๊ฐ๋ฅ
-
๋ง์ดํผ๋
- ์์ฑํ, ์ข์์ํ, ์ ์ฒญํ, ์น๋๋ฐ์, ์๋ฃํ ๋ฒํท๋ฆฌ์คํธ ํ์ธ
์ ์ฒญํ ๋ฒํท๋ฆฌ์คํธ ํด๋ฆญํ ๋ชจ์ต
-
๋ง์ดํ์ด์ง
- ํ๋กํ ์ฌ์ง, ์ ์ ์ด๋ฆ, ์ ์ ์ด๋ฉ์ผ, ํ์ , ๋ฆฌ๋ทฐ ์ถ๋ ฅ
๐ 1์ฃผ์ฐจ ์ํด๋ฆฌ
๐ 2์ฃผ์ฐจ ์ํด๋ฆฌ
๐ 3์ฃผ์ฐจ ์ํด๋ฆฌ
๐ 4์ฃผ์ฐจ ์ํด๋ฆฌ
๐ 5์ฃผ์ฐจ ์ํด๋ฆฌ