Skip to content

거래함📮

설명

거래함"은 카카오테크 부트캠프 내에서 사물함을 이용한 중고거래 플랫폼입니다. 사용자들은 판매할 물건을 사물함에 보관하고, 구매자는 해당 사물함에서 물건을 찾아가는 방식으로 거래가 이루어집니다. 비대면으로 안전하고 효율적으로 거래할 수 있으며, 커뮤니티 안에서 활발한 물품 교환을 할 수 있는 것이 특징입니다. ‘사물함 거래’ 기능을 통해 거래자는 서로의 시간을 맞출 필요 없이 비대면으로 편리하게 거래를 진행할 수 있습니다.”

진행 방식

  • 다 같이 페어 프로그래밍으로 프로젝트를 진행하고 하루에 한시간씩 강제적으로 코드리뷰를 진행합니다.

대면 모임

  • 일정: 매주 월요일 20시, 토요일 14시, 일요일 14시
    • 월요일은 3시간, 주말은 다 할 때까지.
  • 장소: KTB 회의실

스터디 방식

  • 월요일 20시에는 코드 리뷰가 끝난 기능을 통합하여 main 브랜치에 올립니다.
    • 5주차 부터는 각각이 구현한 기능의 성능을 테스트하고 비교합니다.
    • 성능 테스트 결과는 코드 통합 시간에 공유합니다.
  • 화, 수, 목, 금은 1시간 씩 각각 다른 팀원의 코드를 반드시 리뷰합니다.
  • 토요일과 일요일 모각코와 관련 세션 영상을 함께 시청합니다.

프로젝트 기획 의도

  • 카카오 부트캠프 내의 남는 사물함이 많다.
  • 과정 별로 책을 받는데 자신의 기술 스택과 맞지않는 책이 있다.
  • 카카오 부트캠프 내에서 편리하게 중고 거래를 도와준다.

프로젝트 소개

  • 판매자는 물건을 올리면 사물함과 비밀번호를 배정받는다.
  • 관리자는 사물함의 물건을 검수한다.
  • 물건의 상태는 검수 중 -> 판매 중(검수 완료) -> 판매 완료로 나눠진다.
  • 구매자가 대금을 결제하면 판매자에게 대금이 전달되고, 사물함과 비밀번호를 알려준다.

프로젝트 기능 정리

  • 프로젝트는 각 기능 별 난이도를 수치화하였습니다.

  • 회원 기능

    • 로그인 → 7점
      • OAuth + jwt + Redis
    • 로그아웃 → 1점
    • 마이페이지
      • 구매 내역 → 2점
      • 판매 내역 → 2점
  • 알림 → 7점

    • 스프링 배치 학습
    • 구매자가 구매를 하면 판매자에게 알림이 뜬다(상단 바에 알림 페이지가 있고 거기서 알림들 보여줌)
    스크린샷 2024-10-20 오후 3 46 20
    • 메일로 알림을 보내자.
      • Spring Boot Starter Mail 라이브러리 고려
  • 중고 물품 거래 페이지

    • 트랜잭션 동시성 학습 -> 7점
    • 중고 물품 구매
      • 구매 상세 요청 → 4점
        • 동시성 이슈(비관적 락, 낙관적 락, 네임드 락) 고려
        • 사용자가 구매 버튼을 눌렀을 때 다른 사용자가 해당 물품의 구매 버튼을 누르지 못하도록.
      • 물품 별 사물함 아이디, 비밀번호 전달 → 1점
      • 사물함 상태 잠그기 → 1점
      • 물품 DB 상태 변경 → 1점
      • 구매자 구매 내역에 추가 → 1점
    • 중고 물품 판매
      • 중고 물품 올리기 → 1점
      • 중고 물품 수정 → 1점
      • 중고 물품 삭제 - 1점
      • 판매자 판매 내역 관리 → 1점
      • 홈화면에 띄워줄 물품 내역(메인페이지) - 1점
    • 사물함 관리
      • 관리자 페이지 → 3점
        • 스프링 시큐리티 Role 관리
      • 전체 사물함 상태 조회 → 1점
    • 소셜 기능 (찜하기, 관심, 조회)
      • 찜하기 → 4점 (최적화 포텐이 있다. 너 재능 있어)
      • 조회 수 → 4점
    • 검색
      • 물품 검색 → 3점 (최적화 포텐이 있다. 너 재능 있어)
    • 알림
      • 판매자, 구매자에게 가는 알림
        • 알림창을 조회하면 해당 알림들의 상태가 false
  • 성능 테스트 환경 구축 및 최적화 방안 논의 → 4점

  • 52점 / 8주 → 한 주에 6.5점

프로젝트 일정

1주차: 로그인(7) 및 로그아웃(1) → 8점 -> 10/13(일)까지

  • 로그인 시 리프레시 토큰은 서버와 쿠키에, 액세스 토큰은 로컬 스토리지에 저장

2주차: 사물함 조회(1), 동시성 이슈 학습(7) → 8점 -> 10/20(일)까지

3주차: 중고 물품 판매 및 판매 내역, 홈화면에 띄워줄 물품 내역(메인페이지) → 7점

4주차: 중고 물품 구매 및 구매 내역(동시성 이슈 해결)

5주차: 알림, 검색, filter, 성능 테스트 환경 구축 및 최적화 방안 논의 → 7점

  • 알림
    • 판매자가 사물함 ID와 비밀번호를 받음
    • 구매자 수령 알림
    • 알림창을 조회하면 해당 알림들의 상태가 false
  • 검색
    • 물품 검색 → 3점 (쿼리를 통해 검색)

6주차: 소셜 기능(좋아요, 조회 수) - 10점

  • 물품 조회 수 기능
  • 물품 좋아요 기능

7주차: 단위 테스트 학습 및 적용

8주차: 성능 테스트 및 최적화

9주차: 운영 모니터링 및 성능 최적화

10주차: 운영 모니터링 및 성능 최적화

11주차: 운영 모니터링 및 성능 최적화

12주차: 운영 모니터링 및 성능 최적화

시청 세션 영상

1주차: [NHN FORWARD 2021] Redis 야무지게 사용하기

2주차: [if(kakao)dev2022] Batch Performance 극한으로 끌어올리기: 1억 건 데이터 처리를 위한 노력

------------------- 포트폴리오 내용 -------------------

검색할 때 Pak ah e 일때 “ak a”까지 검색하게 하였다.

쿼리문 ~~~~ 를 사용했다. 또한 제목에는 없는데 본문 내용만 있을 경우를 대비하여 본문내용도 같이 분석한다.

그런데 성능을 측정해보니 ~~~가 나왔다. 그래서 검색 쿼리 최적화를 통해서 병목지점을 개선하여 jmeter로 성능테스트를 진행하여 00% 성능을 개선하였습니다.

Popular repositories Loading

  1. .github .github Public

  2. Trade-Ham Trade-Ham Public

    Java 2

  3. Trade-Ham-Cloud Trade-Ham-Cloud Public

    클라우드 관련 자료 정리

    Dockerfile

  4. Trade-Ham-FE Trade-Ham-FE Public

    카카오테크 부트캠프 Trade-ham Frontend repository입니다.

    CSS

Repositories

Showing 4 of 4 repositories
  • Trade-Ham-Cloud Public

    클라우드 관련 자료 정리

    Trade-Ham/Trade-Ham-Cloud’s past year of commit activity
    Dockerfile 0 0 0 0 Updated Dec 15, 2024
  • Trade-Ham-FE Public

    카카오테크 부트캠프 Trade-ham Frontend repository입니다.

    Trade-Ham/Trade-Ham-FE’s past year of commit activity
    CSS 0 MIT 0 1 0 Updated Dec 15, 2024
  • Trade-Ham Public
    Trade-Ham/Trade-Ham’s past year of commit activity
    Java 0 2 1 7 Updated Dec 15, 2024
  • .github Public
    Trade-Ham/.github’s past year of commit activity
    0 0 0 0 Updated Dec 2, 2024

Top languages

Loading…

Most used topics

Loading…