Skip to content

Latest commit

 

History

380 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⭐️ 프로젝트 소개 ⭐️

혼자 여행 가긴 싫은데... 😢😢

혼자 여행가기 싫은 사람들을 위한 여행 커뮤니티, 같이 여행 갈 여행메이트를 구할 수 있으며 실시간으로 다른 회원과의 채팅으로 여행 정보를 물어볼 수 있습니다.
게시판으로 같이 여행 갈 여행 메이트 구하는 모집 페이지, 여행지에서 사고 판 물건을 거래할 수 있는 거래 페이지, 다른 회원들을 위해 여행지에 대한 경험을 공유하는 리뷰 페이지 또한 글쓴이의 여행 타입을 분석하여 나와 맞는 여행 특성인지 알 수 있는 여행 MBTI들로 구성되어 있습니다.

✈️ 프로젝트 기간: 2024.4월 29일(월) ~ 2024.5월 15일(수)



🤝 프로젝트 인원 & 역할 분배

이름 역할 기능
강승규 팀장 / 채팅 프론트엔드
김시언 게시판 프론트엔드
김재호 총괄 풀스택
엄정식 채팅 백엔드
이채림 회원 풀스택
정범수 게시판 백엔드


📚 사용 스택

이름
프론트엔드
백엔드
DB


🛠️ Tools



📖 사용 라이브러리



🧾 요구 사항 명세서

스크린샷 2024-05-22 172221



🧾 UseCase Diagram

스크린샷 2024-06-06 193958 스크린샷 2024-06-06 193550 스크린샷 2024-06-06 193721

🎨 피그마

https://www.figma.com/design/nc1D7av1s0GGj9xY48Q5DH/TRAVELMAKER?node-id=0%3A1&t=89nA830d1BsoRpDI-1

🗺️ 프로젝트 아키텍쳐

ac



🛢️ ERD 설계

스크린샷 2024-05-23 120255

📣 기능 소개

메인 페이지

Header

  • 사용자는 로그인 유무에 따라 보여지는 항목이 달라집니다. [로그인, 회원가입] -> [마이페이지, 로그아웃]

회원 정보 영역

  • 사용자의 프로필 등록 여부, 로그인 상태에 따라 보여지는 내용이 달라집니다.

회원 슬라이더

  • 프로필을 등록한 사용자들을 조회할 수 있습니다.
main

회원 기능

회원가입

  • 사용자로부터 정보를 입력받아 회원가입을 진행합니다.
  • JS를 활용하여 입력값을 모두 입력받을 수 있도록 하며, 중복확인 과정을 통해 중복된 ID가 없도록 합니다.
  • 비밀번호는 salt를 할당받아 SHA-256으로 해싱합니다.

로그인

  • ID와 PW를 입력받아 회원 정보가 일치하면 로그인에 성공합니다.
  • 로그인 성공 시 Session, Session Storage에 회원 정보를 할당합니다.

프로필

  • 회원 한줄 소개, 여행유형, 사진 업로드가 가능합니다.

마이페이지

  • 프로필이 등록되지 않은 회원은 프로필 등록 페이지로 이동됩니다.
  • 회원 정보, 프로필, 작성한 게시글 등을 확인 및 이동이 가능합니다.

타회원 조회

  • 다른 회원의 정보, 프로필, 작성한 게시글 등을 확인 및 이동이 가능합니다.
  • 1대1 채팅방으로 이동할 수 있습니다.
2024-05-16_2 26 37 2024-05-16_2 26 33 2024-05-16_2 27 21 2024-05-16_2 27 38 2024-05-16_2 27 50

게시판 기능

게시판 테이블 구조

  • 상속 관계 매핑 전략
  • @Inheritance(strategy = InheritanceType.JOINED) : 상위 클래스 Post Entity에 설정 (정규화에 강점)
  • @DiscriminatorValue : 하위 클래스(Join, Review, Carrot)에서 설정하고, Post Entity를 상속 받아 사용한다.
  • 결과로 아래 ERD형태로 데이터가 저장된다. 유형에 따라 3가지 형태의 게시글이 등록되지만, post 테이블에 모든 게시물의 데이터가 있기 때문에 1개의 댓글 테이블로 모든 게시글의 댓글을 연결하여 사용 가능하다.

스크린샷 2024-05-24 145453 스크린샷 2024-05-24 151719

게시판 작성

  • 로그인된 회원만 게시글 작성이 가능하도록 합니다. 로그인이 되지 않은 회원은 로그인 페이지로 이동됩니다.
  • 게시글 유형(리뷰, 모집, 중고거래)에 따라 저장되는 형태가 달라집니다.
  • KakaoMap API를 활용하여 여행위치, 거래위치 정보를 저장합니다.
  • 게시물 작성 성공시 회원 테이블의 회원 게시물 작성 수가 반영됩니다.

게시판 삭제

  • 글을 작성한 사용자는 본인이 작성한 게시글을 조회하면 삭제 버튼을 볼 수 있으며, 클릭시 등록한 게시물이 삭제됩니다.

게시판 목록 조회

  • 게시판 이미지와, 제목, 조회수, 댓글 수 등 게시판 정보를 보여주며 6개 단위로 페이징 처리하여 보여줍니다.

게시판 상세 조회

  • 게시글 상세 정보 조회가 가능합니다.
  • 조회시 조회수가 증가합니다.
  • 작성자 타회원 조회 페이지로 이동이 가능합니다.

게시판 댓글 작성

  • 로그인 된 회원은 댓글 작성이 가능합니다.
  • 로그인 하지 않을 경우 '로그인을 진행해주세요'라는 alert문구를 보여줍니다.
  • 댓글 작성시 회원 테이블의 회원 댓글 수가 반영됩니다.

게시판 댓글 조회

  • 해당 게시글에 작성된 댓글 조회가 가능합니다.
  • 이름, 내용, 시간 형태로 6개 단위로 페이징 처리하여 보여줍니다.
2024-05-16_2 27 56 2024-05-16_2 28 00 2024-05-16_2 28 04 2024-05-16_2 28 11 2024-05-16_2 28 18 2024-05-16_2 28 26 2024-05-16_2 29 44

채팅 기능

채팅 기능 구조 image 스크린샷 2024-05-24 162238



1대1 채팅 기능

  • 회원은 다른 회원과 1대1 채팅이 가능합니다.
  • 타회원조회 페이지를 통해 채팅방 생성이 가능하며, 기존의 채팅방이 존재하면 기존 채팅방으로 이동됩니다.

채팅방 목록

  • 사용자는 생성된 채팅방 목록을 조회할 수 있습니다.
image 2024-05-16_2 30 15

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages