Skip to content

Museng17/hanghae99_finally_project_6

Repository files navigation

모음:moum

채팅방이나 메모함에 지저분하게 쌓여있는 정보들이 있나요?

  • 모음(moum) : 모음은 나의 정보 아카이브 서비스 입니다.

  • 메모와 링크를 간편하게 분류하고 저장할 수 있어요

🎞 서비스 시연 영상


💡 기획의도

"👩 채팅방에 쌓아둔 정보를 다시 찾아 보기 힘들어요."

"👩‍🦱 급하게 붙여넣은 정보를, 나중에 필요할 때 다시 찾아 쓸 수 있다면 편리하지 않을까요?"

"👱‍♂️ 내가 모아둔 정보들을 깔끔하게 정리해 둘 곳이 필요해요!"

모음은 이런 생각에서 기획하게 된 서비스입니다.


✨ 핵심기능


💻 로그인 - Wiki 보러 가기

  • JWT토큰을 활용한 로그인 기능 구현
  • jwt 리플레쉬토큰을 활용해 엑세스토큰이 만료되었을 때 재발급 기능 구현
  • HandlerInterceptor를 이용한 토큰체크 기능 구현

💻 소셜로그인(구글) - Wiki 보러 가기

  • 구글 로그인 구현
  • 구글의 회원정보를 받아 회원가입시키는 로직으로 구현
  • 소셜로그인된 회원의 아이디로 리프레쉬토큰과 엑세스토큰을 발급

💻 이메일 인증을 활용한 회원가입 - Wiki 보러가기

  • 이메일에 인증번호를 전송해 인증하는 방식으로 인증구현
  • 비밀번호를 잊어버렸을 때 임시비밀번호를 이메일로 전송 하도록 구현

💻 조각(게시물), 모음(폴더) CRUD - Wiki 보러가기

  • 조각, 모음 검색 및 필터(최신순, 사용자 지정순) 적용
  • 조회시 Pageable를 통해 페이징 적용
  • 조각, 모음 정렬 순서를 사용자가 직접 순서를 정렬할 수 있도록 적용
  • 조각에 해당되는 카테고리만 카테고리 목록에 나올 수 있도록 적용

💻 Jmeter부하테스트 진행 후 성능개선 - Wiki 보러가기

  • Jmeter 부하테스트를 통해 평균속도, 에러율, 시간당 처리량, 평균바이트 체크
  • N+1문제 해결(쿼리 최적화) 및 필요없는 이중 반복문 및 Stream으로 단순 반복문사용 제거
  • API 속도 총 2366ms 개선 및 에러율 2% 까지 낮추는 성과를 냄

📆 프로젝트 기간

  • 2022년 06월 24일 ~ 2022년 08월 05일
  • 배포 : 2022년 07월 27일

👥 백엔드 팀원 소개

Backend (3명)

  • 김민주 (부팀장)

  • 서다빈

  • 백현명


🧩 서비스 아키텍쳐


📝 깃플로우 / 코드컨벤션

보기

깃플로우 / 코드컨벤션

  • 코드 컨벤션

    • 클래스명과 함수명은 Camel Case
    • Request는 항상 Dto를 사용
    • 클래스명과 함수명 또는 변수명은 봤을 때 어떤 것인지 알아볼 수 있게 정의
    • 테이블 예약어는 복수 명사 및 동사 사용
    • DTO 이름은 테이블명 또는 의미가 있는 단어로 시작
  • 깃 플로우 전략

    Git Hub Flow 전략

    1. Main Branch에서 Release 브랜치를 생성하여 작업.
    2. Release로 부터 Feature 단위로 Branch를 만듦.
    3. 기능을 세세한 개발 단위로 쪼개어 Commit을 함.
    4. 해당 기능이 모두 개발 완료되었다면 Push함.
    5. Pull Request를 통해 원격 저장소의 Release 브랜치로 Merge 요청.
    6. 팀원들 간의 피드백, 버그 리포팅을 통해 모든 팀원의 동의 하에 최종 Merge.
    7. 최종 완성 시 Main 브랜치에 Merge 후 배포

⚙ ERD 설계

ERD

📂 노션

📔 노션 링크


Backend Tech Stack

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages