JOURGEIOS
├─api
│ └─dto
│ ├─auth
│ ├─chat
│ ├─home
│ ├─member
│ ├─notification
│ ├─post
│ │ └─cocktail
│ └─search
├─config
├─controller
├─domain
│ ├─auth
│ ├─cocktail
│ ├─home
│ ├─member
│ ├─post
│ ├─search
│ └─time
├─repository
│ └─auth
├─security
│ ├─config
│ ├─jwt
│ └─oauth2
├─service
│ └─auth
├─socialLogin
└─util
├─auth
└─scheduler
Spring Security와 jwt를 사용하여 access token과 refresh token을 발급하여 안정적인 서비스를 제공합니다. 인증이 필요한 곳의 모든 서비스는 필터를 거쳐 필터링을 진행하여 인가된 사용자만 서비스를 이용할 수 있도록 하였습니다. 이메일 인증을 통해 회원가입이 진행됩니다.
총 4개의 데이터베이스, MariaDB, Redis, Firestore, S3를 사용하였습니다.
JPA를 사용하여 객체 설계 중심으로 데이터베이스와 통신합니다. 총 19개의 테이블을 사용하고 다양한 관계를 설정하였습니다.
인기 검색어와 실시간 검색어 등 통계가 필요한 서비스는 NoSQL인 Redis를 사용하고 실시간으로 알림과 채팅을 가져오기 위해서 firebase의 firestroe를 사용하였습니다.
서비스에 사용되는 모든 이미지는 S3로 업로드하여 안정적으로 저장됩니다.
백엔드에서는 총 90개의 API를 구현하고 API 명세서를 통해 FE과 소통하였습니다.