Skip to content

Commit

Permalink
chore: v0.3.0 배포
Browse files Browse the repository at this point in the history
chore: v0.3.0 배포
  • Loading branch information
soyi47 authored Aug 5, 2022
2 parents b7035bd + 4404133 commit 8236e48
Show file tree
Hide file tree
Showing 258 changed files with 7,437 additions and 2,534 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
node_modules
.env.*

.DS_Store
.gradle
Expand Down Expand Up @@ -34,3 +35,5 @@ out/
/.nb-gradle/
### VS Code ###
.vscode/
### logs ###
/logs/
35 changes: 32 additions & 3 deletions backend/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id 'org.springframework.boot' version '2.7.1'
id 'org.springframework.boot' version '2.6.9'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'org.asciidoctor.convert' version '1.5.8'
id 'org.asciidoctor.jvm.convert' version '3.3.2'
id 'java'
}

Expand All @@ -10,9 +10,13 @@ version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
asciidoctorExtensions
compileOnly {
extendsFrom annotationProcessor
}
all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}

repositories {
Expand All @@ -25,10 +29,13 @@ ext {

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'io.netty:netty-resolver-dns-native-macos:4.1.75.Final:osx-aarch_64'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.flywaydb:flyway-core:6.4.2'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.h2database:h2:1.4.200'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
Expand All @@ -37,6 +44,9 @@ dependencies {
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml'
asciidoctorExtensions 'org.springframework.restdocs:spring-restdocs-asciidoctor'
}

tasks.named('test') {
Expand All @@ -45,6 +55,25 @@ tasks.named('test') {
}

tasks.named('asciidoctor') {
configurations 'asciidoctorExtensions'
baseDirFollowsSourceFile()
inputs.dir snippetsDir
dependsOn test
}

asciidoctor.doFirst {
delete file('src/main/resources/static/docs')
}

task createDocument(type: Copy) {
dependsOn asciidoctor
from file("build/docs/asciidoc")
into file("src/main/resources/static")
}

bootJar {
dependsOn createDocument
from("${asciidoctor.outputDir}") {
into 'static/docs'
}
}
4 changes: 4 additions & 0 deletions backend/src/docs/asciidoc/auth.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
== 로그인

=== 카카오 Oauth
operation::auth-controller-test/kakao-login[snippets='http-request,http-response']
179 changes: 179 additions & 0 deletions backend/src/docs/asciidoc/errorCodes.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@

== 에러코드
=== 롤링페이퍼 에러

|===
| error code | error message | show message | status code

| `1001`
| 롤링페이퍼 제목은 20자를 초과할 수 없습니다. title={%s}
| 롤링페이퍼 제목은 20자를 초과할 수 없습니다.
| `400 Bad Request`

| `1002`
| 롤링페이퍼 제목은 공백일 수 없습니다.
| 롤링페이퍼 제목은 공백일 수 없습니다.
| `400 Bad Request`
|===

=== 메시지 에러

|===
| error code | error message | show message | status code

| `2001`
| 메시지는 공백일 수 없습니다.
| 메시지는 공백일 수 없습니다.
| `400 Bad Request`

| `2002`
| 메시지 내용 사이즈 초과입니다 message={%s}
| 메시지 내용은 500자 까지만 가능합니다.
| `400 Bad Request`

| `2003`
| 해당 회원은 작성자가 아닙니다. id={%d}
| 해당 글의 작성자가 아닙니다.
| `403 Forbidden.`
|===

=== 유저 에러

|===
| error code | error message | show message | status code

| `3001`
| 이메일은 공백일 수 없습니다.
| 이메일은 공백일 수 없습니다.
| `400 Bad Request`

| `3002`
| 이메일 정규식에 위반되는 이메일입니다. email = {%s}
| 유효하지 않은 이메일입니다.
| `400 Bad Request`

| `3003`
| 이미 이메일이 중복되는 회원이 존재합니다.
| 이미 가입된 이메일입니다.
| `403 Forbidden.`

| `3004`
| 유저네임은 공백일 수 없습니다
| 유저네임은 공백일 수 없습니다
| `400 Bad Request`

| `3005`
| 유저네임은 2자 이상 20자 이하여야 합니다. username={%s}
| 유저네임은 2자 이상 20자 이하여야 합니다.
| `400 Bad Request`

| `3006`
| 올바르지 않은 username입니다. username={%s}
| 유저네임은 영어, 한국어, 숫자로 구성해야 합니다.
| `400 Bad Request`

| `3007`
| 비밀번호는 공백일 수 없습니다.
| 비밀번호는 공백일 수 없습니다.
| `400 Bad Request`

| `3008`
| 비밀번호는 8자 이상 20자 이하여야 합니다. password={%s}
| 해당 글의 작성자가 아닙니다.
| `400 Bad Request`

| `3009`
| 비밀번호는 최소 하나 이상의 알파벳과 숫자로 구성해야 합니다. password={%s}
| 비밀번호는 최소 하나 이상의 알파벳과 숫자로 구성해야 합니다.
| `400 Bad Request`

| `3010`
| 이메일 정규식에 위반되는 이메일입니다. email = {%s}
| 이메일 또는 비밀번호가 일치하지 않습니다.
| `401 Unauthorized`

| `3011`
| 올바르지 않은 토큰입니다.
| 올바르지 않은 토큰입니다.
| `401 Unauthorized`

| `3012`
| 토큰의 유효기간이 만료됐습니다.
| 토큰의 유효기간이 만료됐습니다.
| `401 Unauthorized`

| `3013`
| 토큰의 secret key가 변조됐습니다. 해킹의 우려가 존재합니다. token={%s}
| 토큰의 secret key가 변조됐습니다. 해킹의 우려가 존재합니다.
| `401 Unauthorized`
|===

=== 모임 에러
|===
| error code | error message | show message | status code

| `4001`
| 모임 이름은 공백일 수 없습니다.
| 모임 이름은 공백일 수 없습니다.
| `400 Bad Request`

| `4002`
| 모임 이름은 20자 이하여야 합니다. name={%s}
| 모임 이름은 20자 이하여야 합니다.
| `400 Bad Request`

| `4003`
| 모임 설명은 공백일 수 없습니다.
| 모임 설명은 공백일 수 없습니다.
| `400 Bad Request`

| `4004`
| 모임 설명은 100자 이하여야 합니다. description={%s}
| 모임 설명은 100자 이하여야 합니다.
| `400 Bad Request`

| `4005`
| 이모지가 선택되지 않았습니다.
| 이모지가 선택되지 않았습니다.
| `400 Bad Request`

| `4006`
| 색상이 선택되지 않았습니다.
| 색상이 선택되지 않았습니다.
| `400 Bad Request`

| `4007`
| 이미 가입된 모임입니다. teamId={%d}, memberId={%d}
| 이미 가입한 모임입니다.
| `400 Bad Request`

| `4008`
| 이미 가입돼있는 회원입니다.
| 이미 가입돼있는 회원입니다.
| `400 Bad Request`

| `4009`
| 닉네임은 공백일 수 없습니다.
| 닉네임은 공백일 수 없습니다.
| `400 Bad Request`

| `4010`
| 닉네임 글자 수 초과 nickname={%s}
| 닉네임은 20자 이하여야 합니다.
| `400 Bad Request`

| `4011`
| 이미 존재하는 모임 이름입니다. teamName={%s}
| 이미 존재하는 모임 이름입니다.
| `400 Bad Request`

| `4012`
| 해당 모임에 가입되지 않은 회원입니다. memberId={%d}
| 해당 모임에 가입되지 않은 회원입니다.
| `404 Not Found`

| `4013`
| 해당 모임에 가입해야 가능한 작업입니다. teamId={%d}, memberId={%d}
| 해당 모임에 가입해야 가능한 작업입니다.
| `403 Forbidden`
|===
14 changes: 14 additions & 0 deletions backend/src/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
= NAEPYEON(내편) Application API Document
:doctype: book
:icons: font
:source-highlighter: highlightjs
:toc: left
:toclevels: 2
:sectlinks:

include::auth.adoc[]
include::members.adoc[]
include::teams.adoc[]
include::rollingpapers.adoc[]
include::messages.adoc[]
include::errorCodes.adoc[]
16 changes: 16 additions & 0 deletions backend/src/docs/asciidoc/members.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
== 유저

=== 내 정보 조회
operation::member-controller-test/find-member[snippets='http-request,http-response']

=== 내가 받은 롤링페이퍼 목록
operation::member-controller-test/find-received-rollingpapers[snippets='http-request,http-response']

=== 내가 작성한 메시지 목록
operation::member-controller-test/find-written-messages[snippets='http-request,http-response']

=== 내 정보 수정
operation::member-controller-test/update-member[snippets='http-request,http-response']

=== 회원탈퇴
operation::member-controller-test/delete-member[snippets='http-request,http-response']
13 changes: 13 additions & 0 deletions backend/src/docs/asciidoc/messages.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
== 메시지

=== 메시지 생성
operation::message-controller-test/create-message[snippets='http-request,http-response']

=== 메시지 상세 조회
operation::message-controller-test/find-message[snippets='http-request,http-response']

=== 메시지 수정
operation::message-controller-test/update-message[snippets='http-request,http-response']

=== 메시지 삭제
operation::message-controller-test/delete-message[snippets='http-request,http-response']
16 changes: 16 additions & 0 deletions backend/src/docs/asciidoc/rollingpapers.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
== 롤링페이퍼

=== 롤링페이퍼 생성
operation::rollingpaper-controller-test/create-rollingpaper[snippets='http-request,http-response']

=== 롤링페이퍼 단건 조회
operation::rollingpaper-controller-test/find-rollingpaper-by-id[snippets='http-request,http-response']

=== 모임 내 롤링페이퍼 목록 조회
operation::rollingpaper-controller-test/find-rollingpapers-by-team-id[snippets='http-request,http-response']

=== 모임에서 받은 내 롤링페이퍼들 조회
operation::rollingpaper-controller-test/find-rollingpapers-by-member-id[snippets='http-request,http-response']

=== 롤링페이퍼 수정
operation::rollingpaper-controller-test/update-rollingpaper[snippets='http-request,http-response']
31 changes: 31 additions & 0 deletions backend/src/docs/asciidoc/teams.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
== 모임

=== 모임 단건 조회
operation::team-controller-test/get-team[snippets='http-request,http-response']

=== 참여중인 모임들 조회
operation::team-controller-test/get-joined-teams[snippets='http-request,http-response']

=== 모든 모임 조회
operation::team-controller-test/get-all-teams[snippets='http-request,http-response']

=== 키워드에 맞는 모든 모임 조회
operation::team-controller-test/get-all-teams-by-keyword[snippets='http-request,http-response']

=== 모임에 참여중인 회원정보
operation::team-controller-test/get-joined-members[snippets='http-request,http-response']

=== 모임 생성
operation::team-controller-test/create-team/[snippets='http-request,http-response']

=== 모임 정보 수정
operation::team-controller-test/update-team[snippets='http-request,http-response']

=== 모임에 회원 참가
operation::team-controller-test/join-member[snippets='http-request,http-response']

=== 모임에 내 정보 조회
operation::team-controller-test/get-my-info-in-team[snippets='http-request,http-response']

=== 모임에서 내 정보 수정
operation::team-controller-test/update-my-info[snippets='http-request,http-response']
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class AuthenticationPrincipalConfig implements WebMvcConfigurer {
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor(jwtTokenProvider))
.addPathPatterns("/api/v1/**")
.excludePathPatterns("/api/v1/login")
.excludePathPatterns("/api/v1/oauth/**")
.excludePathPatterns("/api/v1/members");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.woowacourse.naepyeon.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

@Configuration
@EnableJpaAuditing
public class JpaAuditingConfig {
}
Loading

0 comments on commit 8236e48

Please sign in to comment.