Skip to content

[4기 소재훈] JPA 게시판 미션 제출 (엔티티 정의, 레포지토리 정의, API 구현, Rest Docs 문서화) #243

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

Open
wants to merge 53 commits into
base: jay-so/develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
bd653ff
Init: 프로젝트 초기 세팅
jay-so Aug 1, 2023
623033f
chore: applicaton.yml 설정
jay-so Aug 1, 2023
6266f85
feat: BaseTimeEntity 구현
jay-so Aug 1, 2023
c5b19a7
feat: BaseEntity 구현
jay-so Aug 1, 2023
fa7fe19
feat: Post 엔티티 구현
jay-so Aug 1, 2023
f7544c9
feat: User 엔티티 구현
jay-so Aug 1, 2023
9465144
feat: Category enum 구현
jay-so Aug 1, 2023
101bf29
feat: Hobby enum 구현
jay-so Aug 1, 2023
df49fd3
feat: PostRepository 구현
jay-so Aug 1, 2023
476e9ec
feat: UserRepository 구현
jay-so Aug 1, 2023
371e2ba
refactor: SpringBootBoardJpaApplication 리팩토링
jay-so Aug 1, 2023
edd0f4a
remove: Catetory enum 제거
jay-so Aug 1, 2023
9a97021
refactor: Post 엔티티에서 Category 부분 리팩토링(제거)
jay-so Aug 1, 2023
ccbab9d
refactor: User 연관관계 리팩토링
jay-so Aug 2, 2023
2473ee6
refactor: User클래스 테이블명 리팩토링
jay-so Aug 3, 2023
733ca8d
refactor: hobby enum 리팩토링
jay-so Aug 3, 2023
9ab5b33
refactor: Post 엔티티 리팩토링
jay-so Aug 3, 2023
14353c1
refactor: User 엔티티 리팩토링
jay-so Aug 3, 2023
c01727f
refactor: BaseEntity 리팩토링
jay-so Aug 3, 2023
d2fb63a
feat: Post 엔티티 update 메소드 및 빌더 패턴 생성
jay-so Aug 3, 2023
7d5155f
feat: PostCreateRequest 구현
jay-so Aug 3, 2023
9140ac2
feat: PostUpdateRequest 구현
jay-so Aug 3, 2023
e26604d
feat: PostResponse 구현
jay-so Aug 3, 2023
64a0de2
feat: PostService 구현
jay-so Aug 3, 2023
4283ee1
feat: PostController 구현
jay-so Aug 3, 2023
cbde646
refactor: PostResponse 리팩토링
jay-so Aug 3, 2023
cd21373
refactor: Post 리팩토링
jay-so Aug 3, 2023
bffd656
refactor: PostService 리팩토링
jay-so Aug 3, 2023
79bb594
refactor: PostService 불필요한 주석 제거
jay-so Aug 3, 2023
6ea41af
fix: PostController 의존성 주입 수정
jay-so Aug 4, 2023
ef71302
fix: userId 자료형 수정
jay-so Aug 4, 2023
9f5bbac
style: hobby enum 개행 추가
jay-so Aug 4, 2023
5624111
style: User 클래스 개행 추가
jay-so Aug 4, 2023
5214f55
refactor: PostReponse 리팩토링
jay-so Aug 4, 2023
96b89f0
style: Post 클래스 불필요한 개행 삭제
jay-so Aug 4, 2023
c081697
refactor: PostRepository final 키워드 추가
jay-so Aug 4, 2023
3fe549d
refactor: post dto 관련 패키지명 리팩토링
jay-so Aug 4, 2023
0bbf4f3
"feat: User 관련 Dto 구현"
jay-so Aug 5, 2023
ccc5b9e
User 클래스 빌더 적용
jay-so Aug 5, 2023
05b23f8
feat: UserService 구현
jay-so Aug 5, 2023
b1c9718
feat: UserController 구현
jay-so Aug 5, 2023
af4e8da
feat: RestDocsConfiguratoin 구현
jay-so Aug 6, 2023
5d53a2a
feat:AbstractRestDocesTest 구현
jay-so Aug 6, 2023
fd090a6
feat:UserControllerTest 구현
jay-so Aug 6, 2023
6500be4
Chore: rest-docs 의존성 추가
jay-so Aug 6, 2023
3dac0ad
feat: PostControllerTest 구현
jay-so Aug 6, 2023
9bab7b9
refactor: Post Dto 리팩토링
jay-so Aug 6, 2023
a04c046
refactor: PostService 리팩토링
jay-so Aug 6, 2023
3109417
refactor: UserDto 리팩토링
jay-so Aug 6, 2023
35837a4
feat: post, user 관련 acoc 구현
jay-so Aug 6, 2023
34dfc6b
refactor: Post Entity 관련 createdBy 리팩토링
jay-so Aug 6, 2023
a0dab9e
refactor: PostController 리팩토링
jay-so Aug 6, 2023
2837c7d
refactor: UserController 테스트 리팩토링
jay-so Aug 6, 2023
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
179 changes: 179 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# Created by https://www.toptal.com/developers/gitignore/api/macos,intellij+all,java,gradle
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,intellij+all,java,gradle

### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.

.idea
.idea/*

!.idea/codeStyles
!.idea/runConfigurations

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### Gradle ###
.gradle
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

### Gradle Patch ###
# Java heap dump
*.hprof

# End of https://www.toptal.com/developers/gitignore/api/macos,intellij+all,java,gradle
60 changes: 60 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.2'
id 'io.spring.dependency-management' version '1.1.2'
id 'org.asciidoctor.jvm.convert' version '3.3.2'
}

group = 'com.example'
version = '1.0.0'

java {
sourceCompatibility = '17'
}

configurations {
asciidoctorExt
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
}

ext {
set('snippetsDir', file("build/generated-snippets"))
}

test {
outputs.dir snippetsDir
useJUnitPlatform()
}

asciidoctor {
dependsOn test
inputs.dir snippetsDir
configurations 'asciidoctorExt'
baseDirFollowsSourceFile()
}

bootJar {
dependsOn asciidoctor
from("${asciidoctor.outputDir}") {
into 'static/docs'
}
}
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading