강민지 | 최예원 | 권지윤 | 황서정 |
[유저] 회원 탈퇴 [다이어리] 다이어리 생성, 수정, 삭제, 편집 기능 [스티커] 스티커 조회 기능 [템플릿] 템플릿 조회 기능 [시큐리티] JWT 및 Redis를 통한 토큰 구현 [알림] SSE 기반 실시간 알림 리팩토링 [기타] 프로젝트 기본 구조 및 데이터베이스 설계 |
[홈] 홈 조회 [프로필] 유저 프로필 수정 [이미지] S3 이미지 관련 기능 구현 [배포] EC2, Docker, Github Action 을 이용한 CI/CD 구축 [배포] route53, nginx 를 이용한 https 통신 구현 [기타] 데이터베이스 설계, 아키텍처 설계, AWS(EC2, RDS, S3 등) 세팅 |
[유저] 회원 가입, 이메일과 닉네임 중복 확인 기능, 임시 비밀번호 이메일 발송 기능 [시큐리티] JWT 토큰 구현, Redis를 통한 Blacklist 구현, 비밀번호 변경 기능 [친구] 친구 추가, 삭제, 조회, 찾기 기능 [알림] 좋아요, 댓글, 대댓글, 친구 추가 알림 기능 [기타] 데이터베이스 설계 |
[유저] 유저 정보 수정, 비밀번호 변경 기능 [다이어리] 댓글 작성 및 삭제, 좋아요 추가 및 취소 [기타] 데이터베이스 설계 |
'라꾸라꾸'는 웹 기반 공유 다이어리 서비스로, 쉽고 간단하게 다이어리를 작성하여 나만의 라이프스타일을 꾸미고 이를 공유하고자 하는 유저들을 위해 제작되었습니다. 웹 기반 서비스이기 때문에 간편하게 휴대하고 걱정없이 저장할 수 있으며, 나의 일기를 한 눈에 확인하고 친구와 공유하며 댓글로 소통할 수 있습니다. 또한 기본 제공되는 300여종의 스티커 및 템플릿를 활용하여 간단하게 다이어리를 꾸밀 수 있으며 원하는 사진을 스티커로 만들어 나만의 다이어리를 만들 수 있습니다.
- lombok
- spring web
- spring data jpa
- spring data jdbc
- spring data rest
- spring data validation
- spring boot test
- spring security test
- spring data redis
- spring cloud aws
- mysql driver
- main/java/[프로젝트명]/domain/global/config
▶️ jwt/redis security 및 S3 설정 - main/java/[프로젝트명]/domain/global/constant
▶️ 응답 message 설정 - main/java/[프로젝트명]/domain/global/entity
▶️ BaseTimeEntity 관련 설정 - main/java/[프로젝트명]/domain/global/exception
▶️ ErrorCode 및 ErrorHandler 설정 - main/java/[프로젝트명]/domain/global/redis
▶️ redis 관련 설정
- main/java/[프로젝트명]/[기능명]/controller
▶️ Controller - main/java/[프로젝트명]/[기능명]/dto
▶️ Request, Response, Mapper 등 dto - main/java/[프로젝트명]/[기능명]/entity
▶️ Entity - main/java/[프로젝트명]/[기능명]/exception
▶️ Custom Exception - main/java/[프로젝트명]/[기능명]/repository
▶️ Repository - main/java/[프로젝트명]/[기능명]/service
▶️ Service - main/java/[프로젝트명]/LakkuLakkuApplication.java
- test/java/[프로젝트명]/domain
▶️ 기능별 테스트 - test/java/[프로젝트명]/global
▶️ security 관련 테스트 - main/resources/application.yml
▶️ session 관련 설정
└── 🗂 main
├── 🗂 java
│ └── 🗂 com
│ └── 🗂 efub
│ └── 🗂 lakkulakku
│ ├── 📑 Application.java
│ ├── 🗂 domain
│ │ ├── 🗂 comment
│ │ ├── 🗂 controller
│ │ ├── 📑 CommentController
│ │ ├── 🗂 dto
│ │ ├── 📑 CommentMapper
│ │ ├── 📑 CommentResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Comment
│ │ ├── 🗂 exception
│ │ ├── 📑 CommentNotFoundException
│ │ ├── 📑 ParentNotFoundException
│ │ ├── 📑 UnauthorizedException
│ │ ├── 🗂 repository
│ │ ├── 📑 CommentRepository
│ │ ├── 🗂 service
│ │ ├── 📑 CommentService
│ │ ├── 📑 CommentServiceImpl
│ │ ├── 🗂 diary
│ │ ├── 🗂 controller
│ │ ├── 📑 DiaryController
│ │ ├── 📑 DiaryEditController
│ │ ├── 🗂 dto
│ │ ├── 📑 DiaryHomeMapper
│ │ ├── 📑 DiaryHomeResDto
│ │ ├── 📑 DiaryLookupResDto
│ │ ├── 📑 DiaryMapper
│ │ ├── 📑 DiaryMessageResDto
│ │ ├── 📑 DiaryResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Diary
│ │ ├── 🗂 exception
│ │ ├── 📑 BadDateRequestException
│ │ ├── 📑 DiaryNotFoundException
│ │ ├── 📑 DuplicateDiaryException
│ │ ├── 🗂 repository
│ │ ├── 📑 DiaryRepository
│ │ ├── 🗂 service
│ │ ├── 📑 DiaryService
│ │ ├── 🗂 file
│ │ ├── 🗂 entity
│ │ ├── 📑 File
│ │ ├── 🗂 exception
│ │ ├── 📑 FileExtensionException
│ │ ├── 📑 S3IOException
│ │ ├── 🗂 repository
│ │ ├── 📑 FileRepository
│ │ ├── 🗂 friend
│ │ ├── 🗂 controller
│ │ ├── 📑 FriendController
│ │ ├── 🗂 dto
│ │ ├── 📑 FriendReqDto
│ │ ├── 📑 FriendResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Friend
│ │ ├── 🗂 exception
│ │ ├── 📑 DuplicateFriendException
│ │ ├── 🗂 repository
│ │ ├── 📑 FriendRepository
│ │ ├── 🗂 service
│ │ ├── 📑 FriendService
│ │ ├── 🗂 image
│ │ ├── 🗂 dto
│ │ ├── 📑 ImageMapper
│ │ ├── 📑 ImageResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Image
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 ImageRepository
│ │ ├── 🗂 likes
│ │ ├── 🗂 controller
│ │ ├── 🗂 dto
│ │ ├── 📑 LikeMapper
│ │ ├── 📑 LikeResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Likes
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 LikeRepository
│ │ ├── 🗂 service
│ │ ├── 📑 LikeService
│ │ ├── 🗂 notification
│ │ ├── 🗂 controller
│ │ ├── 🗂 dto
│ │ ├── 📑 NotificationHomeMapper
│ │ ├── 📑 NofificationHomeResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Notification
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 NotificationRepository
│ │ ├── 🗂 service
│ │ ├── 🗂 profile
│ │ ├── 🗂 controller
│ │ ├── 📑 ProfileController
│ │ ├── 🗂 dto
│ │ ├── 🗂 entity
│ │ ├── 📑 Profile
│ │ ├── 🗂 exception
│ │ ├── 📑
│ │ ├── 🗂 repository
│ │ ├── 📑 ProfileRepository
│ │ ├── 🗂 service
│ │ ├── 📑 ProfileService
│ │ ├── 🗂 sticker
│ │ ├── 🗂 dto
│ │ ├── 📑 StickerMapper
│ │ ├── 📑 StickerResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Sticker
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 StickerRepository
│ │ ├── 🗂 template
│ │ ├── 🗂 dto
│ │ ├── 📑 TemplateMapper
│ │ ├── 📑 TemplateResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Template
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 TemplateRepository
│ │ ├── 🗂 text
│ │ ├── 🗂 dto
│ │ ├── 📑 TextMapper
│ │ ├── 📑 TextResDto
│ │ ├── 🗂 entity
│ │ ├── 📑 Text
│ │ ├── 🗂 exception
│ │ ├── 🗂 repository
│ │ ├── 📑 TextRepository
│ │ ├── 🗂 users
│ │ ├── 🗂 controller
│ │ ├── 📑 HomeController
│ │ ├── 📑 LoginController
│ │ ├── 📑 SettingsController
│ │ ├── 📑 WithdrawalController
│ │ ├── 🗂 dto
│ │ ├── 📑 HomeMapper
│ │ ├── 📑 HomeResDto
│ │ ├── 📑 LoginReqDto
│ │ ├── 📑 LoginResDto
│ │ ├── 📑 ProfileUpdateReqDto
│ │ ├── 📑 ProfileUpdateResDto
│ │ ├── 📑 SettingsInfoDto
│ │ ├── 📑 SettingsUpdateDto
│ │ ├── 📑 SignupReqDto
│ │ ├── 📑 UpdatePasswordDto
│ │ ├── 📑 WithdrawReqDto
│ │ ├── 🗂 entity
│ │ ├── 📑 AuthUsers
│ │ ├── 📑 Users
│ │ ├── 🗂 exception
│ │ ├── 📑 BadTokenRequestException
│ │ ├── 📑 DuplicateEmailException
│ │ ├── 📑 DuplicateNicknameException
│ │ ├── 📑 PasswordNotMatchedException
│ │ ├── 📑 TokenExpiredException
│ │ ├── 📑 UserNotFoundException
│ │ ├── 🗂 repository
│ │ ├── 📑 UsersRepository
│ │ ├── 🗂 service
│ │ ├── 📑 AuthUsers
│ │ ├── 📑 CustomUsersDetailsService
│ │ ├── 📑 SettingsService
│ │ ├── 📑 SettingsServiceImpl
│ │ ├── 📑 UsersService
│ ├── 🗂 global
│ │ ├── 🗂 config
│ │ ├── 🗂 jwt
│ │ ├── 📑 JwtAuthenticationFilter
│ │ ├── 📑 JwtProvider
│ │ ├── 🗂 redis
│ │ ├── 📑 RedisConfig
│ │ ├── 📑 AppConfig
│ │ ├── 📑 S3Config
│ │ ├── 🗂 constant
│ │ ├── 📑 ResponseConstant
│ │ ├── 🗂 entity
│ │ ├── 📑 BasicTimeEntity
│ │ ├── 🗂 exception
│ │ ├── 📑 ErrorCode
│ │ ├── 📑 ErrorReponse
│ │ ├── 📑 GlobalExceptionHandler
│ │ ├── 🗂 jwt
│ │ ├── 📑 BasicResponse
│ │ ├── 📑 CustomAuthenticationEntryPoint
│ │ ├── 🗂 redis
│ │ ├── 📑 RedisService
└── 🗂 resources
├── 📑 application.yml