여행 애플리케이션 입니다.
역할 | 학과 | 학번 | 이름 |
---|---|---|---|
팀 장 | 소프트웨어공학과 | 20143226 | 김광호 |
팀원1 | 소프트웨어공학과 | 20143227 | 이동준 |
팀원2 | 소프트웨어공학과 | 20143233 | 박승득 |
팀원3 | 소프트웨어공학과 | 20143240 | 신은철 |
App
- Android Studio - 4.0.1
- Unity - 2019.4.15
Server
- GO - 1.15.1
- Echo Framework - 4.1.17
Database
- MySQL - 8.0.19
- MySQL Workbench 8.0 CE
Service
- FCM
- Google Map
- Vuforia
- 소셜 미디어를 통해 여행 정보를 얻는 추세
- 모바일 애플리케이션 사용 빈도 증가
- 동행자가 없어 여행을 가지 않는 사람이 상당수
위와 같은 이유로 여행정보 획득, 동행자 확보를 만족하는 애플리케이션을 제작하기로 하였습니다.
- 관광지 선호도
- 다모임(동행 모집) 게시판
- AR 관광지 정보/인증 시스템
애플리케이션
애플리케이션 제작은 Android Studio와 Unity를 사용하였습니다.
FCM은 관심 지역에 새 게시글이 등록 되었을 때, 동행 인원이 모두 모아졌을 때 발송됩니다.
Google Map은 마커를 커스텀 하고 해당 지역에 대한 간략한 소개와 선호율을 보여줍니다.
Vuforia는 AR 기능을 활용하여 해당 지역에 있는 관광지 촬영 시 관광지 소개 및 위치좌표를 전송하여 휴대폰의 위치좌표와 비교하고 오차범위 이내이면 신뢰도를 증가시켜 줍니다.
(AR의 경우에는 Unity, C# 관련 지식 부족으로 인해 AR 스캔만 구현된 상태입니다.)
서버
서버는 GO를 사용하였습니다. GO를 선택한 이유는 다음과 같습니다.
- 개인적으로 공부중인 언어
- 별도의 WAS 설치 없이 구동이 간편한 서버
- 웹 프레임워크가 없더라도 자체적인 서버 기능 확보
그리고 Echo Framework를 적용하여 서버 접속에 대한 로그 기능, 크리티컬한 에러 이외의 패닉 에러같은 경우 서버를 다운시키지 않고 계속 동작하게끔 하는 리커버리 기능을 사용하였습니다.
데이터베이스
데이터베이스는 MySQL을 사용하였습니다.
테이블은 사용자 정보, 지역 정보, 게시판, 게시판 설정, 동행자, 관광지 통계 로 구성하였습니다.
(애플리케이션 사용자의 고유 토큰 값을 저장하는 테이블도 있으나 푸시 알림 기능에서 사용하지 않았습니다.)