실시간 통신 기반 웹소켓을 활용한 여행 공유 시스템
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 접근과 댓글 시스템을 통해 사용자 경험 개선.
- 실시간 통신과 보안 강화의 중요성을 배우게 되었습니다.
- 설계 단계의 중요성을 체감하였으며, 이를 통해 프로젝트의 성공적인 구현을 이끌어냈습니다.