Skip to content

Latest commit

 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

여행을 떠나요

실시간 통신 기반 웹소켓을 활용한 여행 공유 시스템

프로젝트 소개

SSAFY OAuth 프로젝트는 실시간 통신을 기반으로 한 여행 일정 공유 시스템입니다. 웹소켓을 활용하여 실시간으로 여행 일정을 공유하고, 사용자의 의견을 댓글 형태로 나눌 수 있습니다.

구현 사항

  • 실시간 통신: 웹소켓을 활용한 실시간 일정 공유 및 채팅.
  • 보안 강화: RSA KeyManager와 SHA-512 암호화로 사용자 정보 보호.
  • 효율성: MyBatis와 Stored Procedure를 활용한 DB 접근 최소화.
  • 댓글 시스템: 트리 구조의 댓글 시스템으로 부모-자식 관계 유지.

기술 스택

  • 백엔드: Java, Spring Boot, MyBatis
  • 프론트엔드: JavaScript, HTML, CSS
  • 데이터베이스: MySQL
  • 기타: WebSocket, RSA 암호화

기능 설명

실시간 통신

웹소켓을 통해 실시간으로 일정 및 메시지를 공유합니다. 채팅방 생성, 메시지 송수신, 연결 수립 및 해제 과정이 포함됩니다.

보안

  • RSA KeyManager: 사용자 IP에 기반한 키 관리.
  • SHA-512 암호화: 비밀번호를 해시화하여 DB에 저장.
  • 세션 관리: 세션 만료 시 관련 키 제거.

효율성

  • Stored Procedure: 네트워크 오버헤드를 최소화하고 쿼리 수행 속도 향상.
  • DB 접근 최소화: MyBatis를 활용한 효율적인 데이터베이스 접근.

댓글 시스템

  • 트리 구조의 댓글 시스템을 구현하여 부모-자식 관계를 유지합니다.
  • 댓글 테이블에 comment_id, parent_id, root_id를 포함하여 트리 구조를 유지합니다.

프로젝트 성과

  • 실시간 통신 및 보안 강화 기능을 성공적으로 구현.
  • 효율적인 DB 접근과 댓글 시스템을 통해 사용자 경험 개선.

프로젝트 리뷰

  • 실시간 통신과 보안 강화의 중요성을 배우게 되었습니다.
  • 설계 단계의 중요성을 체감하였으며, 이를 통해 프로젝트의 성공적인 구현을 이끌어냈습니다.

시연 영상 링크

About

서울10기 19반 최종관통 프로젝트

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages