Skip to content

Latest commit

 

History

History
156 lines (118 loc) · 7.94 KB

File metadata and controls

156 lines (118 loc) · 7.94 KB

Back-end

codecov

필요없거나 너무많아 버릴거 같은 물품

image



👥 멤버


🗓 프로젝트 기간

  • 2021년 12월 27일 ~ 2022년 1월 23일

🧩 와이어프레임

page page page page page page page page page page page page


🗺 ER Diagram


📌 API 명세서

gongu API 설계

⚙️ 기술 스택

Back-End

Front-End


# 🖼 아키텍쳐


🔑 프로젝트 주요 기능

  • Nginx에 HTTPS SSL 적용

  • 회원가입 페이지

    • 아이디 : 중복확인(이메일 형식)
    • 닉네임 : 중복확인
    • 비밀번호 : 8자 이상 16자 이하, 영문 필수 1자이상,특수문자 하나 이상 필수
    • 비밀번호 확인 : 8자 이상 16자 이하, 영문 필수 1자이상,특수문자 하나 이상 필수
  • 로그인 페이지 (일반 로그인, 소셜 카카오 로그인)

    • 가입된 회원의 정보와 일치하는지 확인 후, 일치할 경우 로그인 성공
    • 로그인시 jwt 토큰 발행
  • 메인 페이지

    • 전체 게시글 조회 기능
      • 게시글 주소선택으로 게시물 필터링 기능
      • 게시글 식품,의류,가전 중 1택 카테고리 필터링 기능
  • 즐겨찾기

    • 본인 게시물은 즐겨찾기 불가능
  • 마이페이지

    • 프로필 수정
    • 내가 작성한 글 확인
    • 내 즐겨찾기 목록 확인
  • 메인 페이지 (전체 게시글 조회 기능)

    • 게시글 주소선택으로 게시물 필터링 기능
    • 게시글 식품,의류,가전등 중 1택 카테고리 필터링 기능
  • 게시글 작성 페이지

    • 게시물 CRUD (이미지 포함)
    • 해시태그 기능 추가
  • 게시글 상세 페이지

    • 좋아요 : 게시글 즐겨찾기 기능
    • 댓글 : 게시글 대댓글
    • 채팅 : 1:1 채팅기능
  • 실시간 채팅 페이지

    • 채팅방 생성, 나가기 ,방 폭파
    • 읽지 않은 채팅 COUNT
    • 채팅방 인원정보 표시
    • 채팅 알람 기능 추가
  • 게시물 검색 인기순 top 10


💡 Trouble Shooting

  • 무중단 배포를위해 특정 브랜치에 push 이벤트 발생시 자동 빌드,배포가 진행되는 상황에서 yml파일을 같이 push하면 안되는데 ec2서버 내부에서 yml을 읽어들어야 jar파일 구동이 되는 상황
    • 해결:
      • 1.ec2서버 내부에 임의의 yml파일 저장공간을 만들어 넣어두고
        image

      • 2.무중단 배포를위한 bin/bash 내부에 1번의 특정경로의 yml을 -Dspring.config.location=file 을 사용해 읽어들여 image


  • 카테고리 필터 및 검색기능 적용 시 쿼리문이 복잡해짐 → 쿼리DSL 사용.
    • 쿼리를 자바코드로 작성하여 컴파일 시점에서 오류를 잡기쉬우면서 동적쿼리를 쉽게 작성 img.png

  • 인기검색어 기능 구현 시 처음에는 검색어를 전부 DB에 저장해 많이 검색된 검색어 순위를 출력 → DB접근을 줄이기위해 cache적용
    • 단순한 정보를 반복적으로 동일하게 제공해야 하고, 정보의 업데이트가 실시간으로 이루어질 필요가 없기 때문 image