Skip to content

Hanghae11-FinalProject/Back-end

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages