유로버스(여행 플래너 및 커뮤니티 사이트)는 국비학원에서 진행한 팀프로젝트입니다. (사이트 바로가기>>Euroverse)
- 총 개발 기간 : 2개월
- 분석 및 설계 : 2020/01/01 ~ 2020/01/23
- 구현 : 2020/01/24 ~ 2020/03/07
- 총 개발 인원 : 6명
- 시스템 개요 : MVC2 모델을 기반으로 스프링 프레임워크를 이용하여 만든 유럽 여행 플래너 및 커뮤니티 사이트입니다. 크게 회원 관리, 주문 관리, 플래너, 커뮤니티, 채팅 및 알람 모듈로 구성되어 있습니다.
1. 실시간 알림
- 기능 : 게시판에 쓴 게시글/댓글에 대한 반응 알림, 플래너 초대/동행 초대 신청 알림, 채팅 메시지 알림, 플래너에 작성한 할 일 여행 전 문자 알림
- 설명
- 웹소켓을 이용해 현재 로그인한 회원에게 실시간으로 알림 메시지를 출력하고 Oracle Database에 데이터 저장
- 청기와랩 API를 이용해 여행 예정일(D-day) 기준으로 D-30, D-7, D-3, D-1인 플래너를 가진 회원에게 문자 알림
2. 채팅
2-1. 대화 내역이 저장되지 않는 채팅(플래너채팅)
- 기능 : 플래너에 입장 시 현재 같은 플래너에 입장한 회원 간 채팅
- 설명 : 웹소켓을 이용해 플래너 입장, 퇴장, 채팅 메시지 출력
2-2. 대화 내역이 저장되는 채팅(동행채팅)
- 기능 : 동행 구하기 게시판을 통해 구한 소모임(동행)에 참여한 회원 간 채팅, 퇴장 후 재입장 시 전에 나눈 대화 내역 확인 가능
- 설명
- 채팅방 개설 시 Mongo DB에 데이터 저장
- 웹소켓을 이용해 채팅 메시지 송수신
- 대화 내역, 채팅방 참여자 정보는 Mongo DB에 저장
- Laguage : Java
- Back-end : Spring Framework 4.0.1 / MyBatis / Apache Tomcat / Selenium
- Front : HTML5 / BootStrap 4 / CSS3 / jQuery / Ajax / JSP
- Database : Oracle 10g / MongoDB 3.6.1
- VCS tool : GitHub
- IDE : Eclipse
- Open Source : Sweetalert / FullCalendar / SummerNote / Owl carousel / AOS / Swiper / Foreign exchange rates API / 공공데이터포털API / 청기와 LAB / I'mPort API / JavaMail API / 네이버로그인 API / 카카오로그인 API / GoogleMap API
⚡️ AWS 이용한 배포 (Euroverse 바로가기)
학원 수료 후 AWS를 이용해 배포를 해보았습니다. 아마존 EC2의 인스턴스를 2개 생성하여 각각 웹 서버와 MongoDB를 설치하였고, 아마존 RDS를 이용하여 Oracle 12를 설정했습니다. 각 인스턴스끼리 연동을 한 뒤 탄력적 IP를 생성하여 고정 IPv4 주소를 연결했습니다. 현재(2020/04/24) 셀레늄 구동을 완성하지 못해 항공권 검색과 숙소 검색 기능은 작동하지 않습니다.
프로젝트 발표 영상(썸네일 클릭 시 이동)