ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ShMarket - 프로젝트 소개
    ShMarket 2021. 6. 19. 21:17

    Spring Boot 기반의 웹 프로젝트 개발 기록입니다.

     

    프로젝트 소개

    당근 마켓을 모티브로 만들어본 프로젝트로

    회원가입 시 설정한 지역( 대한민국 행정동 DB 기반 )을 바탕으로 지역 주변 N Km 이내의 거주하는 회원들 간의

    상품 판매, 커뮤니티 등의 서비스를 제공합니다.


    사용 기술

    Back

    Java, Spring Boot, Spring Data JPA,

    Spring Security, Json Web Token

    Firebase Cloud Messaging, Rabbit MQ, Redis

    SMTP, Swagger 

     

    Front

    Javascript, Vue, Vuex, Vuetify, Axios


    프로젝트 진행

    백엔드 개발자를 희망하지만 프론트에도 관심 있고, 어느 정도는 사용할 줄 안다면 좋다고 생각하여

    Back, Front 모두 직접 개발하기로 했으며 ShMarket은 개인 프로젝트로 진행했습니다.

     

    협업이 아닌 단독으로 개발하는 것이지만 Github을 통해 기록하고, 이슈 별로 나누어 진행했습니다.

     

    기술적인 이슈나 애로사항들은 Gitgub과 블로그를 통해 포스팅 중에 있습니다.

    아직 제작이 마무리되지 않아 배포하지 않은 상태입니다.

     


    프로젝트 목표

    1. 이 전의 프로젝트보다 견고한 프로젝트

    2. 기술적 고도화

    3. 단순 CRUD만 사용하지 않기

    4. 중요한 기능인 채팅, 푸시 알림의 완성

    5. 모던 자바로 코드 품질 관리

    6. 성능의 개선과 안전성

     


    ER Diagram


    구현 기능

    회원 

    1. 회원 가입 ( SMTP를 사용한 E-mail 인증 )

    2. 회원 정보 조회

    3. 회원 정보 수정

    4. 회원 탈퇴

    5. 비밀번호 찾기

    6. 매너 평가 C, R

    7. 거래 후기 C, R

    8. 회원 차단 C, R, D ( 차단 유저의 게시글 조회하지 않음 )

     

    지역

    1. 지역구 조회

    2. 지역구 설정

    3. 지역간 거리 계산

     

    상품

    1. 상품 추가

    1.1 상품 태그 추가 ( 키워드 푸시 알림 전송 )

    2. 상품 조회 

    2.1 본인 거주지 주변 N Km만큼의 동네에 존재하는 상품만 조회

    2.2 차단한 사용자의 게시글 필터링 조회

    2.3 카테고리 필터링 조회

    3. 상품 수정

    3.1 이미지 및 제목, 내용 수정 가능

    4. 상품 삭제

    5. 상품 상태 변경 ( 판매 중, 예약 중, 판매 완료 )

    6. 채팅창 이동

    7. 작성자로 상품 조회

    8. 사용자 관심상품 목록 조회

     

    게시글

    1. 게시글 추가

    2. 게시글 조회

    2.1 본인 거주지 주변 N Km만큼의 동네에 존재하는 상품만 조회

    2.2 차단한 사용자의 게시글 필터링 조회

    2.3 카테고리 필터링 조회

    3. 게시글 수정

    3.1 이미지 및 제목, 내용 수정 가능 

    4. 게시글 삭제

    5. 댓글 C, R, U, D

    6. 작성자로 게시글 조회

     

    키워드 푸시 알림 ( Redis, Rabbit MQ 사용 )

    1. 키워드 등록

    1.1 DB 키워드 등록 

    1.2 FCM Topic 등록

    2. 키워드 조회

    3. 키워드 삭제

    3.1 DB 키워드 삭제

    3.2 FCM Topic 삭제

     

    채팅 ( Web Socket, Rabbit MQ 사용 )

    1. 채팅방 생성

    2. 채팅방 리스트 조회

    3. 채팅방 상세 조회

    3.1 채팅 내역 조회

    3.2 채팅 전송

     

    알림

    1. 키워드 알림 내역 생성

    2. 키워드 알림 내역 조회

    3. 키워드 알림 상태 변경 ( 안읽음 -> 읽음 )

    4. 기타 알림 (Qna 등) 알림 생성

     

    Qna

    1. Qna C, R, D 

    2. 답변이 달렸을 때 알림 Entity에 추가

     

     

    관리자

    1. 회원 관리

    2. 댓글 관리

    3. 상품 관리

    4. 게시글 관리

    5. Qna 답변

     

     

    댓글

Designed by Tistory.