728x90
1. 설계서
설계가 마무리되고 구현을 시작하는 단계입니다. 설계가 진행되며 초기와 변경되었던 점과 프로젝트에 사용된 의존성 등 버전 명시를 목적으로 작성되었습니다.
1.2. UseCase
처음 진행되었던 유스케이스 설계입니다. 설계 초기 단계와 차이 없이 그대로 진행되었습니다.
1.3. Package
패키지 설계입니다. 설계 초기와 전체적인 패키지 구조는 변경되지 않았으나 클래스 설계가 진행되며 초기 구조와 변경 점이 존재합니다.
com.kwang.board
├── user
│ ├── application
│ │ ├── service
│ │ │ ├── UserService.java
│ │ ├── dto
│ │ │ ├── UserDTO.java
│ ├── domain
│ │ ├── model
│ │ │ ├── User.java
│ │ │ ├── Role.java
│ │ ├── repository
│ │ │ ├── UserRepository.java
│ ├── adapters
│ │ ├── persistence
│ │ ├── security
│ │ │ ├── WebSecurityConfig.java
│ │ ├── controller
│ │ │ ├── UserController.java
│ │ │ ├── UserFormController.java
│ │ ├── mapper
│ │ │ ├── UserMapper.java
│ ├── usecase
│ │ ├── UserCrudUseCase.java
│ │ ├── LoginUseCase.java
├── post
│ ├── application
│ │ ├── service
│ │ │ ├── PostService.java
│ │ ├── dto
│ │ │ ├── PostDTO.java
│ │ │ ├── PostSearchCond.java
│ ├── domain
│ │ ├── model
│ │ │ ├── Post.java
│ │ │ ├── PostType.java
│ │ ├── repository
│ │ │ ├── PostRepository.java
│ ├── adapters
│ │ ├── persistence
│ │ │ ├── PostQueryRepository.java
│ │ ├── controller
│ │ │ ├── PostController.java
│ │ │ ├── PostFormController.java
│ │ ├── mapper
│ │ │ ├── PostMapper.java
│ ├── usecase
│ │ ├── PostCrudUseCase.java
│ │ ├── RecommendPostUseCase.java
├── comment
│ ├── application
│ │ ├── service
│ │ │ ├── CommentService.java
│ │ ├── dto
│ │ │ ├── CommentDTO.java
│ ├── domain
│ │ ├── model
│ │ │ ├── Comment.java
│ ├── repository
│ │ │ ├── CommentRepository.java
│ ├── adapters
│ │ ├── persistence
│ │ ├── controller
│ │ │ ├── CommentController.java
│ │ ├── mapper
│ │ │ ├── CommentMapper.java
│ ├── usecase
│ │ ├── CommentCrudUseCase.java
├── photo
│ ├── application
│ │ ├── service
│ │ │ ├── PhotoService.java
│ │ ├── dto
│ │ │ ├── PhotoDTO.java
│ ├── domain
│ │ ├── model
│ │ │ ├── Photo.java
│ │ ├── repository
│ │ │ ├── PhotoRepository.java
│ ├── adapters
│ │ ├── persistence
│ │ ├── controller
│ │ │ ├── PhotoController.java
│ │ ├── mapper
│ │ │ ├── PhotoMapper.java
│ ├── usecase
│ │ ├── PhotoCrudUseCase.java
├── global
│ ├── domain
│ │ ├── BaseEntity.java
│ ├── config
│ │ ├── ApplicationConfig.java
│ ├── exception
│ │ ├── CustomException.java
│ ├── security
│ │ ├── SecurityUtils.java
│ ├── util
│ │ ├── MapperUtils.java
기본적인 다이어그램은 동일합니다.
1.4. DataBase
데이터베이스 설계입니다. 데이터베이스 또한 변경점 없이 초기 설계 내용과 동일한 모습을 가지고 있습니다.
1.5. Class
클래스 설계입니다. 각 단계에서 설계되었던 모든 클래스들로 설계서에 존재하는 내용과 동일합니다.
1.6. Front-end
프론트 엔드 설계입니다. 클라이언트가 보게 될 페이지 디자인과 컴포넌트들이 포함됩니다.
1.7. System
웹 서버의 요청 흐름을 설계한 내용입니다. 이번 프로젝트는 로컬 서버로 구동하여 클라이언트로부터 요청을 받고 데이터베이스와 상호작용 하게 됩니다. 이미지 파일 저장 시 서버가 구동되는 로컬 pc 저장소에 실제 파일이 저장되고 데이터베이스에는 파일이 저장된 경로가 저장됩니다.
2. 사용 기술
초기 프로젝트 구성 기술 목록입니다.
주요 프레임워크/라이브러리
- Java 17
- SpringBoot 3.4.0
- Spring Data Jpa 3.4.0
- Spring Security 6.4.1
- Querydsl 5.0.0
기타 의존성
- Lombok
- Validation
Build Tool
- Gradle
DataBase
- MySql 8.0.39
개발 환경
- IntelliJ
- vs code
- cursor
디자인 Tool
- Figma
728x90
'개인 프로젝트 > Toy & Side' 카테고리의 다른 글
[TOY] 개발 - UseCase & DTO (1) | 2024.11.29 |
---|---|
[TOY] 개발 - Domain (1) | 2024.11.29 |
[TOY] 설계 - 프론트엔드 (User) (0) | 2024.11.22 |
[TOY] 설계 - 프론트 엔드 (Post) (0) | 2024.11.20 |
[TOY] 설계 - Adapters (Controller) (0) | 2024.11.14 |