- 백엔드는 Java Spring Boot 와 MariaDB를 사용했습니다.
- 프론트엔드는 Thymeleaf와 Bootstrap을 사용했습니다.
- 배포 서버는 AWS EC2를 사용했고 데이터베이스는 AWS RDS를 사용했습니다.
- 회원가입, 로그인 기능 (Spring Security 6 사용)
- 업로드 버튼을 누르면 글과 글 내부의 모든 사진 업로드
- 작성글 삭제시 맵핑되었던 사진들도 서버에서 삭제
- 블로그 포스트 썸네일 이미지 기능
- 이미지 업로드 및 다운로드시 파일명 유지
- 게시글 목록 쿼리 최적화
anthive
├─ AnthiveApplication.java
├─ domain
│ ├─ package-info.java
│ ├─ shared
│ │ └─ Email.java
│ ├─ article
│ │ ├─ Post.java
│ │ ├─ PostNotFoundException.java
│ │ └─ PublishBlogpostFormRequest.java
│ └─ member
│ ├─ DuplicateEmailException.java
│ ├─ Member.java
│ ├─ MemberRegisterRequest.java
│ └─ Role.java
├─ application
│ ├─ article
│ │ ├─ PostService.java
│ │ ├─ required
│ │ │ └─ PostRepository.java
│ │ └─ provided
│ │ ├─ PostFinder.java
│ │ ├─ PostModify.java
│ │ └─ PostPermission.java
│ └─ member
│ ├─ MemberModifyService.java
│ ├─ MemberQueryService.java
│ ├─ required
│ │ └─ MemberRepository.java
│ └─ provided
│ ├─ EmailSender.java
│ ├─ MemberFinder.java
│ └─ MemberRegister.java
└─ adapter
├─ webapi
│ ├─ article
│ │ ├─ PostApi.java
│ │ ├─ PostPage.java
│ │ └─ dto
│ │ └─ GetBlogpostFormResponse.java
│ └─ member
│ ├─ MemberApi.java
│ ├─ MemberPage.java
│ └─ dto
│ └─ MemberRegisterResponse.java
├─ security
│ ├─ AccountContext.java
│ ├─ CustomUserDetailsService.java
│ └─ config
│ └─ WebSecurityConfig.java
└─ integration
└─ DummyEmailSender.java
- 컨트롤러 단을 제외하면 테스트 코드 커버리지 100%