λνμλ€μ λμ± ν¨μ¨μ μΈ μμ¬μν΅μ μν κ³΅μ§ μλΉμ€ (PWA)
goormnotification.vercel.app
'곡μ§μ¬ν'μ μμ΄, λνμλ€μ λ€μν λΆνΈν¨μ μ νμμ΅λλ€.
λμ¦λ₯Ό μΆ©μ‘±νκ³ μ, μ΄λ₯Ό ν΄μνλ 'λ¬Έμ μ β ν΄κ²°λ°©μ'μ λ°νμΌλ‘ ν μλΉμ€λ₯Ό κΈ°ννκ² λμμ΅λλ€.
- μΈμ λ μ§ λ€μ μ½μ μ μκΈ°μ "νλ € μ½μ κ°λ₯μ±"Β Β βΒ Β μ΄λ κΈ°κ° μ νμ κ±Έμ΄λλ "μ νμ±"
- λκ° μ½μλμ§ μ μ μλ "μ΅λͺ
μ±"Β Β βΒ Β κ³΅μ§ νμΈ/λ―ΈνμΈ μΈμμ 보μ¬μ£Όλ "μ€λͺ
μ±"
- "μ
무μ μΌμμ λΆλ¦¬"λ₯Ό μν μλΉμ€ νμΒ Β βΒ Β μΌμ μ€ "μ€μκ° PWA μΉνΈμ μλ¦Ό"μ ν΅ν "곡μ§μ© μλΉμ€"
μ€μκ° PWA μΉνΈμ μλ¦Ό μ | μ€μκ° PWA μΉνΈμ μλ¦Ό ν |
---|---|
Frontend | Backend | Deployment | Other |
---|---|---|---|
- Frontend : Next.js, Recoil, TypeScript
- Backend : Spring Boot, Java, Spring Security, JSON Web Token
- Database : MySQL
- Deployment : Vercel, AWS Elastic Beanstalk, Github Actions
- API Documentation : Swagger
- Notification : Firebase Cloud Messaging
βββ .ebextensions-dev
β βββ 00-makeFiles.config
β βββ 01-set-timezone.config
βββ .github
βΒ Β βββ workflows
βΒ Β βββ dev_deploy.yml
βββ .platform
βΒ Β βββ conf.d
βΒ Β βΒ Β βββ client_max_body_size.conf
βΒ Β βββ nginx.conf
βββ Procfile
βββ src
βββ main
βΒ Β βββ .DS_Store
βΒ Β βββ generated
βΒ Β βββ java
βΒ Β βΒ Β βββ .DS_Store
βΒ Β βΒ Β βββ beotkkotthon
βΒ Β βΒ Β βββ .DS_Store
βΒ Β βΒ Β βββ Newsletter_BE
βΒ Β βΒ Β βββ .DS_Store
βΒ Β βΒ Β βββ NewsletterBeApplication.java
βΒ Β βΒ Β βββ config
βΒ Β βΒ Β βΒ Β βββ AwsConfig.java
βΒ Β βΒ Β βΒ Β βββ SwaggerConfig.java
βΒ Β βΒ Β βΒ Β βββ fcm
βΒ Β βΒ Β βΒ Β βΒ Β βββ FCMInitializer.java
βΒ Β βΒ Β βΒ Β βββ multipart
βΒ Β βΒ Β βΒ Β βΒ Β βββ MultipartJackson2HttpMessageConverter.java
βΒ Β βΒ Β βΒ Β βββ security
βΒ Β βΒ Β βΒ Β βββ JwtSecurityConfig.java
βΒ Β βΒ Β βΒ Β βββ WebSecurityConfig.java
βΒ Β βΒ Β βΒ Β βββ jwt
βΒ Β βΒ Β βΒ Β βΒ Β βββ CustomUserDetailsService.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ JwtAccessDeniedHandler.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ JwtAuthenticationEntryPoint.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ JwtFilter.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ TokenProvider.java
βΒ Β βΒ Β βΒ Β βββ util
βΒ Β βΒ Β βΒ Β βββ SecurityUtil.java
βΒ Β βΒ Β βββ converter
βΒ Β βΒ Β βΒ Β βββ NewsCheckConverter.java
βΒ Β βΒ Β βΒ Β βββ NewsConverter.java
βΒ Β βΒ Β βΒ Β βββ TeamConverter.java
βΒ Β βΒ Β βββ domain
βΒ Β βΒ Β βΒ Β βββ Member.java
βΒ Β βΒ Β βΒ Β βββ News.java
βΒ Β βΒ Β βΒ Β βββ NewsCheck.java
βΒ Β βΒ Β βΒ Β βββ Notification.java
βΒ Β βΒ Β βΒ Β βββ Team.java
βΒ Β βΒ Β βΒ Β βββ common
βΒ Β βΒ Β βΒ Β βΒ Β βββ BaseEntity.java
βΒ Β βΒ Β βΒ Β βββ enums
βΒ Β βΒ Β βΒ Β βΒ Β βββ Authority.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ CheckStatus.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ NoticeStatus.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ RequestRole.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ Role.java
βΒ Β βΒ Β βΒ Β βββ mapping
βΒ Β βΒ Β βΒ Β βββ MemberTeam.java
βΒ Β βΒ Β βΒ Β βββ Participation.java
βΒ Β βΒ Β βββ payload
βΒ Β βΒ Β βΒ Β βββ ApiResponse.java
βΒ Β βΒ Β βΒ Β βββ BaseCode.java
βΒ Β βΒ Β βΒ Β βββ BaseErrorCode.java
βΒ Β βΒ Β βΒ Β βββ dto
βΒ Β βΒ Β βΒ Β βΒ Β βββ ErrorReasonDto.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ ReasonDto.java
βΒ Β βΒ Β βΒ Β βββ exception
βΒ Β βΒ Β βΒ Β βΒ Β βββ ExceptionAdvice.java
βΒ Β βΒ Β βΒ Β βΒ Β βββ GeneralException.java
βΒ Β βΒ Β βΒ Β βββ status
βΒ Β βΒ Β βΒ Β βββ ErrorStatus.java
βΒ Β βΒ Β βΒ Β βββ SuccessStatus.java
βΒ Β βΒ Β βββ repository
βΒ Β βΒ Β βΒ Β βββ MemberRepository.java
βΒ Β βΒ Β βΒ Β βββ MemberTeamRepository.java
βΒ Β βΒ Β βΒ Β βββ NewsCheckRepository.java
βΒ Β βΒ Β βΒ Β βββ NewsRepository.java
βΒ Β βΒ Β βΒ Β βββ NotificationRepository.java
βΒ Β βΒ Β βΒ Β βββ ParticipationRepository.java
βΒ Β βΒ Β βΒ Β βββ TeamRepository.java
βΒ Β βΒ Β βββ service
βΒ Β βΒ Β βΒ Β βββ AuthService.java
βΒ Β βΒ Β βΒ Β βββ ImageUploadService.java
βΒ Β βΒ Β βΒ Β βββ MemberService.java
βΒ Β βΒ Β βΒ Β βββ MemberTeamService.java
βΒ Β βΒ Β βΒ Β βββ NewsCheckService.java
βΒ Β βΒ Β βΒ Β βββ NewsService.java
βΒ Β βΒ Β βΒ Β βββ NotificationService.java
βΒ Β βΒ Β βΒ Β βββ ParticipationService.java
βΒ Β βΒ Β βΒ Β βββ TeamService.java
βΒ Β βΒ Β βΒ Β βββ impl
βΒ Β βΒ Β βΒ Β βββ AuthServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ ImageUploadServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ MemberServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ MemberTeamServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ NewsCheckServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ NewsServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ NotificationServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ ParticipationServiceImpl.java
βΒ Β βΒ Β βΒ Β βββ TeamServiceImpl.java
βΒ Β βΒ Β βββ web
βΒ Β βΒ Β βββ controller
βΒ Β βΒ Β βΒ Β βββ AuthController.java
βΒ Β βΒ Β βΒ Β βββ MemberController.java
βΒ Β βΒ Β βΒ Β βββ MemberTeamController.java
βΒ Β βΒ Β βΒ Β βββ NewsCheckController.java
βΒ Β βΒ Β βΒ Β βββ NewsController.java
βΒ Β βΒ Β βΒ Β βββ NotificationController.java
βΒ Β βΒ Β βΒ Β βββ ParticipationController.java
βΒ Β βΒ Β βΒ Β βββ RootController.java
βΒ Β βΒ Β βΒ Β βββ TeamController.java
βΒ Β βΒ Β βββ dto
βΒ Β βΒ Β βββ request
βΒ Β βΒ Β βΒ Β βββ FcmTokenRequestDto.java
βΒ Β βΒ Β βΒ Β βββ MemberLoginRequestDto.java
βΒ Β βΒ Β βΒ Β βββ MemberSignupRequestDto.java
βΒ Β βΒ Β βΒ Β βββ NewsSaveRequestDto.java
βΒ Β βΒ Β βΒ Β βββ NotificationAllowRequestDto.java
βΒ Β βΒ Β βΒ Β βββ ParticipationRequestDto.java
βΒ Β βΒ Β βΒ Β βββ TeamSaveRequestDto.java
βΒ Β βΒ Β βββ response
βΒ Β βΒ Β βββ MemberListResponseDto.java
βΒ Β βΒ Β βββ MemberResponseDto.java
βΒ Β βΒ Β βββ NewsCheckResponseDto.java
βΒ Β βΒ Β βββ NewsResponseDto.java
βΒ Β βΒ Β βββ NotificationDto.java
βΒ Β βΒ Β βββ ParticipationResponseDto.java
βΒ Β βΒ Β βββ TeamResponseDto.java
βΒ Β βΒ Β βββ TokenDto.java
βΒ Β βββ resources
βΒ Β βββ application-local.yml
βΒ Β βββ application-prod.yml
βΒ Β βββ application.yml
βΒ Β βββ newsletter-firebase-adminsdk.json
βΒ Β βββ static
βΒ Β βββ index.html
βββ test
βββ java
βββ beotkkotthon
βββ Newsletter_BE
βββ NewsletterBeApplicationTests.java
- Git-Flow μ λ΅
- λ°λμ "develop"μμ λ»μ΄λμ developμΌλ‘ "merge" λμ΄μΌνλ€.
main
: μ€μ λ°°ν¬ CI/CDμ© branchdevelop
: κ°λ° CI/CDμ© branchfeature
: κΈ°λ₯ ꡬνμ© branchIssue_μ’ λ₯/Issue_λ²νΈ
: branch μμ±
μ’ λ₯ | λ΄μ© |
---|---|
chore | gradle μμ‘΄μ± μ£Όμ λ° yml μ€μ λ± νλ‘μ νΈ κΈ°λ³Έ μΈν |
feature | κΈ°λ₯ ꡬν |
fix | λ²κ·Έ μμ |
refactor | μ½λ 리ν©ν λ§ |
reconstruct | νλ‘μ νΈ κ΅¬μ± λ³κ²½ |
test | ν μ€νΈ μ½λ |
- Pull Requestλ§ λ λ¦¬κ³ , μ€μ Approveλ reviewerκ° νλ€.
[Issue_μ’
λ₯] ꡬν_λ΄μ© #Issue_λ²νΈ
- config : security, aws λ± μ€μ μ 보
- domain : entity
- enums
- common : BaseEntity
- mapping : λ€λλ€ λ§΅ν
- converter : entity β dto
- payload : μλ΅μ μ€μ λ΄μ©
- repository
- service
- web
- dto
- controller
κΉμ§μ | μ μΈμ | μ΅μ¬μ | κ³ λ―Όμ§ | μ¬νμ§ | κΉμ§λ―Ό |
---|---|---|---|---|---|
Project Manager | Designer | Frontend Developer | Frontend Developer | Backend Developer | Backend Developer |