패키지 구조(안) - f-lab-edu/calorie-counter GitHub Wiki
📦
├─ calorie-counter
│ ├─ .gitignore
│ ├─ build.gradle
│ ├─ gradle
│ │ └─ wrapper
│ │ └─ gradle-wrapper.properties
│ ├─ gradlew
│ ├─ gradlew.bat
│ ├─ settings.gradle
│ └─ src
│ ├─ main
│ │ ├─ java
│ │ │ └─ f-lab-edu
│ │ │ └─ calorie-counter
│ │ │ ├─ CalorieCounterApplication.java
│ │ │ └─ User
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ UserRegisterController.java
│ │ │ │ │ └─ UserPasswordUpdateController.java
│ │ │ │ │ └─ UserInfoUpdateController.java
│ │ │ │ │ └─ ProviderCandidateApproveController.java
│ │ │ │ │ └─ UserBanController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ UserEntity.java
│ │ │ │ ├─ UserMapper.java
│ │ │ │ ├─ UserPersistenceAdapter.java
│ │ │ │ ├─ UserMyBatisRepository.java // MyBatis
│ │ │ │ └─ UserJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ OrdinaryUserRegisterUseCase.java
│ │ │ │ │ │ ├─ OrdinaryUserBanUseCase.java
│ │ │ │ │ │ ├─ ProviderRegisterUseCase.java
│ │ │ │ │ │ ├─ ProviderApproveUseCase.java
│ │ │ │ │ │ ├─ ChangeUserPasswordUseCase.java // U - Password
│ │ │ │ │ │ └─ ChangeUserInfoUseCase.java // U - UserInfo
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadUserPort.java
│ │ │ │ │ └─ SaveUserPort.java
│ │ │ │ └─ service
│ │ │ │ └─ UserRegisterService.java // Password
│ │ │ │ └─ UserPasswordUpdateService.java // Password
│ │ │ │ └─ UserInfoUpdateService.java // UserInfo
│ │ │ │ └─ ProviderCandidateApproveService.java
│ │ │ │ └─ UserBanService.java
│ │ │ └─ domain
│ │ │ └─ User.java
│ │ │ └─ Admin.java
│ │ │ └─ OrdinaryUserMeal // ERD : 음식 저장 테이블에 대응
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ OrdinaryUserMealController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ MealEntity.java
│ │ │ │ ├─ MealMapper.java
│ │ │ │ ├─ MealPersistenceAdapter.java
│ │ │ │ ├─ MealMyBatisRepository.java // MyBatis
│ │ │ │ └─ MealJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ NewMealUseCase.java // C - Meal
│ │ │ │ │ │ ├─ ReadMealUseCase.java // R - Meal "내가 그 동안 등록했던 모든 식단을 볼 수 있다"
│ │ │ │ │ │ ├─ UpdateMealUseCase.java // U - Meal
│ │ │ │ │ │ └─ DeleteMealUseCase.java // U - UserInfo
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadOrdinaryUserPort.java
│ │ │ │ │ └─ SaveOrdinaryUserPort.java
│ │ │ │ └─ service
│ │ │ │ └─ OrdinaryUserMealService.java // Meal
│ │ │ └─ domain
│ │ │ └─ OrdinaryUserMeal.java
│ │ │ └─ Feed
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ FeedController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ FeedEntity.java
│ │ │ │ ├─ FeedMapper.java
│ │ │ │ ├─ FeedPersistenceAdapter.java
│ │ │ │ ├─ FeedMyBatisRepository.java // MyBatis
│ │ │ │ └─ FeedJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ WriteFeedUseCase.java
│ │ │ │ │ │ ├─ ReadFeedUseCase.java
│ │ │ │ │ │ ├─ UpdateFeedUseCase.java
│ │ │ │ │ │ └─ DeleteFeedUseCase.java
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadFeedPort.java
│ │ │ │ │ └─ SaveFeedPort.java
│ │ │ │ └─ service
│ │ │ │ └─ FeedService.java
│ │ │ └─ domain
│ │ │ └─ Feed.java
│ │ │ └─ Comment
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ CommentController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ CommentEntity.java
│ │ │ │ ├─ CommentMapper.java
│ │ │ │ ├─ CommentPersistenceAdapter.java
│ │ │ │ ├─ CommentMyBatisRepository.java // MyBatis
│ │ │ │ └─ CommentJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ WriteCommentUseCase.java
│ │ │ │ │ │ ├─ ReadCommentUseCase.java
│ │ │ │ │ │ ├─ UpdateCommentUseCase.java
│ │ │ │ │ │ └─ DeleteCommentUseCase.java
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadCommentPort.java
│ │ │ │ │ └─ SaveCommentPort.java
│ │ │ │ └─ service
│ │ │ │ └─ CommentService.java // Meal
│ │ │ └─ domain
│ │ │ └─ Comment.java
│ │ │ └─ Like
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ LikeController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ LikeEntity.java
│ │ │ │ ├─ LikeMapper.java
│ │ │ │ ├─ LikePersistenceAdapter.java
│ │ │ │ ├─ LikeMyBatisRepository.java // MyBatis
│ │ │ │ └─ LikeJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ WriteCommentUseCase.java
│ │ │ │ │ │ ├─ ReadCommentUseCase.java
│ │ │ │ │ │ ├─ UpdateCommentUseCase.java
│ │ │ │ │ │ └─ DeleteCommentUseCase.java
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadLikePort.java
│ │ │ │ │ └─ SaveLikePort.java
│ │ │ │ └─ service
│ │ │ │ └─ LikeService.java // Meal
│ │ │ └─ domain
│ │ │ └─ Like.java
│ │ │ └─ Food // ERD: 음식 테이블에 대응
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ FoodController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ FoodEntity.java
│ │ │ │ ├─ FoodMapper.java
│ │ │ │ ├─ FoodPersistenceAdapter.java
│ │ │ │ ├─ FoodMyBatisRepository.java // MyBatis
│ │ │ │ └─ FoodJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ GetAllFoodCandidateUseCase.java // 전체 음식 정보 다 가져오기
│ │ │ │ │ │ ├─ GetFoodCandidateUseCase.java // 정보 제공자가 등록 요청한 음식 정보 가져오기
│ │ │ │ │ │ ├─ SubmitMyFoodCandidateUseCase.java // 정보 제공자가 새로운 음식 정보 제출하기
│ │ │ │ │ │ ├─ ModifyMyFoodCandidateUseCase.java // "정보 제공자의 심사 중 식단 정보 변경"
│ │ │ │ │ │ ├─ UnsubmitMyFoodCandidateUseCase.java // D - MyMealCandidate
│ │ │ │ │ │ ├─ JudgeOthersFoodCandidateUseCase.java // U - OthersMealCandidate 정보 제공자가 심사
│ │ │ │ │ │ └─ GetOthersFoodCandidateUseCase.java // "정보 제공자"
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadFoodPort.java
│ │ │ │ │ └─ SaveFoodPort.java
│ │ │ │ └─ service
│ │ │ │ └─ GetAllFoodCandidateService.java
│ │ │ │ └─ GetMyMealCandidateService.java
│ │ │ │ └─ SubmitMyMealCandidateService.java
│ │ │ │ └─ ModifyMyMealCandidateService.java
│ │ │ │ └─ UnsubmitMyMealCandidateService.java
│ │ │ │ └─ JudgeOthersMealCandidateService.java
│ │ │ │ └─ GetOthersMealCandidateService.java
│ │ │ └─ domain
│ │ │ └─ Food.java
│ │ │ └─ Admin
│ │ │ ├─ adapter
│ │ │ │ ├─ in
│ │ │ │ │ └─ web
│ │ │ │ │ └─ ProviderCandidateApproveController.java
│ │ │ │ │ └─ UserBanController.java
│ │ │ │ └─ out
│ │ │ │ └─ persistence
│ │ │ │ ├─ UserEntity.java
│ │ │ │ ├─ UserMapper.java
│ │ │ │ ├─ UserPersistenceAdapter.java
│ │ │ │ ├─ UserMyBatisRepository.java // MyBatis
│ │ │ │ └─ UserJpaRepository.java // Jpa
│ │ │ ├─ application
│ │ │ │ ├─ port
│ │ │ │ │ ├─ in
│ │ │ │ │ │ ├─ ChangeUserPasswordUseCase.java // U - Password
│ │ │ │ │ │ └─ ChangeUserInfoUseCase.java // U - UserInfo
│ │ │ │ │ └─ out
│ │ │ │ │ ├─ LoadUserPort.java
│ │ │ │ │ └─ SaveUserPort.java
│ │ │ │ └─ service
│ │ │ │ └─ UserPasswordUpdateService.java // Password
│ │ │ │ └─ UserInfoUpdateService.java // UserInfo
│ │ │ └─ domain
│ │ │ └─ User.java
│ │ └─ resources
│ │ └─ application.yml
│ └─ test
│ └─ java
│ └─ covenant
│ └─ hexagonal
│ └─ CalorieCounterApplicationTests.java