발표자료 준비

1. 폴더구조 -계층형 vs 도메인형

[아키텍쳐] 패키지 구조 : 계층형 VS 도메인형 어떤 것을 선택할까?

우리프로젝트에서 백엔드는 계층형을 사용했다.

main
├── java
│   └── back
│       └── ahwhew
│           ├── AhwhewApplication.java
│           ├── config
│           │   ├── S3Config.java
│           │   ├── WebConfig.java
│           │   └── jwt
│           │       └── JWTProperties.java
│           ├── controller
│           │   ├── MypageController.java
│           │   ├── ResultController.java
│           │   ├── StatisticController.java
│           │   └── UserController.java
│           ├── dto
│           │   ├── AverageDTO.java
│           │   ├── DashboardDTO.java
│           │   ├── DashboardResDTO.java
│           │   ├── DiaryDTO.java
│           │   ├── GifDTO.java
│           │   ├── MonthlyUserStatisticsDTO.java
│           │   ├── MyShopDTO.java
│           │   ├── ResponseDTO.java
│           │   ├── ResultDTO.java
│           │   ├── StatisticsDTO.java
│           │   ├── TopMemesDTO.java
│           │   ├── TopMemesResponseDTO.java
│           │   └── UserDTO.java
│           ├── entity
│           │   ├── BaseEntity.java
│           │   ├── DiaryEntity.java
│           │   ├── GifEntity.java
│           │   ├── ResultEntity.java
│           │   ├── StatisticsEntity.java
│           │   └── UserEntity.java
│           ├── repository
│           │   ├── DiaryRepository.java
│           │   ├── GifRepository.java
│           │   ├── ResultRepository.java
│           │   ├── StatisticsRepository.java
│           │   └── UserRepository.java
│           ├── security
│           │   ├── JwtAuthenticationFilter.java
│           │   └── TokenProvider.java
│           └── service
│               ├── DashboardService.java
│               ├── DiaryService.java
│               ├── KomoranService.java
│               ├── MypageService.java
│               ├── MyshopService.java
│               ├── StatisticsService.java
│               ├── UserService.java
│               └── resultService
│                   ├── AmazonS3Service.java
│                   ├── ClassifyTagService.java
│                   ├── GifService.java
│                   ├── KarloImageEditService.java
│                   ├── KarloImageGeneratorService.java
│                   ├── KarloService.java
│                   ├── NaverPapagoService.java
│                   ├── NaverSentimentService.java
│                   └── ResultService.java
└── resources
    ├── application.properties
    ├── application.yml
    ├── static
    └── templates
        └── diary.html

더 정리하자

main
├── java
│   └── back
│       └── ahwhew
│           ├── config
│           ├── controller
│           ├── dto
│           ├── entity
│           ├── repository
│           ├── security
│           └── service
└── resources
    ├── application.properties
    ├── application.yml
    ├── static
    └── templates
        └── diary.html

2. erd

프로젝트 데이터베이스 엔터티 설계 - 주요 특징

  1. DiaryEntity
  2. GifEntity
  3. ResultEntity
  4. StatisticsEntity
  5. UserEntity

프로젝트 설계 특징 요약:

3. 개발 환경