Skip to content

bellytime 고객용 백엔드 서버

Notifications You must be signed in to change notification settings

runnz121/backend_CS

 
 

Repository files navigation

backend_CS

bellytime 고객용 백엔드 서버

프로젝트 설명

주기때마다 내가 먹고 싶은 음식을 알람받고, 설정하세요!

핵심기능

  1. 로그인을 통한 개인 프로필을 제공합니다
  2. 친구, 가게를 팔로우 할 수있고 포스팅을 구독할 수 있습니다.
  3. 가까운 가게들을 조회할 수 있고, 필터링하여 정렬 할 수 있습니다.
  4. 가게를 예약할 수 있습니다.
  5. 친구와 가게 사장님간의 채팅을 할 수 있습니다.
  6. 쿨타임을 설정하고 해당 쿨타임에 음식에 대한 알림을 받아 볼 수 있습니다.

기술 스택

  • 채팅을 위한 websocket(stomp)를 적용하여 실시간 채팅을 구현하였습니다.
  • spring security를 이용하여 jwt 기반의 Oauth2로그인이 가능합니다(구글, 네이버, 카카오)
  • spring batch와 spring quartz를 이용하여 데이터 베이스 일괄 배치 처리를 하였습니다.
  • flyway를 설정하여 DB migration를 고려하였습니다.
  • restDocs를 설정하여 테스트 기반의 문서 작성을 고려하였습니다.
  • junit 5를 기반으로 test code를 작성하였습니다.
  • jacoco를 이용해 코드 커버리지를 측정하였습니다.
  • 엘라스틱 서치를 적용하여 빠른 검색을 반환하도록 구현하였습니다.
  • redis를 사용하여 캐쉬검색을 가능하게 구현하였습니다.
  • S3 와 클라우드 프론트를 사용하여 이미지 업로드가 가능하게 구현하였습니다.
  • 젠킨슨를 이용하여 CI/CD를 구축하였습니다.
  • HTTPS 인증서를 적용하여 https접속이 가능합니다.

현재 구성도

스크린샷 2022-03-21 오전 9 06 48

테이블 스키마

스크린샷 2022-03-21 오전 9 09 02

백엔드 기술 스택

  1. springboot
  2. junit5
  3. redis
  4. mysql
  5. ELK
  6. docker
  7. spring security
  8. spring batch
  9. flyway
  10. jpa
  11. websocket

About

bellytime 고객용 백엔드 서버

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%