3차 팀 프로젝트 - 공공 api를 활용한 관광 정보 웹 어플리케이션

2022. 12. 11. 20:48Team Project

5개월 교육의 끝을 장식하는 3차 팀 프로젝트이자 마지막 프로젝트 입니다.

 

이번에 만든 어플리케이션은 한국관광공사에서 제공하는 오픈 API와 게시판을 응용한 웹 어플리케이션입니다.

이번 팀 프로젝트는 실제 개발자들의 기획 구상 작업 결과 단계를 실제로 해보고자 했습니다. 

 

기획 :

이번 프로젝트의 주제를 얘기하던 도중 때마침 개발 일정이 수능 시즌과 겹친다는 것을 깨닫고 22년 수능생들을 대상으로한 앙케이트를 찾아봤습니다. 여기서 눈에 들어온것은 알바몬에서한 수능 끝나고 하고싶은 것을 고르는 것이었는데 1위는 알바, 2위는 여행이었습니다. 여기서 우리들은 알바를 통해 여행자금을 벌고 이것으로 여행을 가고자 하는 것은 아닐까 하는 생각을 했고 여기서 착안하여 관광을 주제로 했습니다.

 하지만 무작정 관광을 하기에는 너무나도 주제가 두루뭉실하여 폭을 좁히기 위해 현재 관광 관련 사이트를 조사하여 내린 두가지 개선안을 찾았습니다.

 일단 지금의 관광 정보 제공 사이트는 공공 사이트이거나 커뮤니티 사이트의 경우 밖에 없다는 점을 바탕으로 하여

첫째, 공공 기간의 관광 정보 제공 사이트는 정보의 정확도는 높지만 정형화된 데이터와 관련된 정보를 다른 사용자와 공유하기가 어렵다는 점.

둘째, 커뮤니티 사이트에서는 데이터의 업데이트가 실시간으로 이루어지고 사용자간의 정보 교류가 활발하게 이루어지는 한편 정보의 정확성은 상대적으로 떨어진다는 점입니다.

때문에 이 두가지 개선안을 고려하여 공공 API에서 정확한 정보를 제공하면서 사용자간의 정보 교류도 할 수 있는 웹 어플리케이션을 개발하게 됐습니다.

 그리고 지금까지 배운것과 다양한 오픈 API를 활용할 수 있다는 점도 주제를 선택하는데 큰 영향을 끼쳤습니다.

 

구상 :

 자유게시판, Q&A 게시판, 후기 게시판, 공지사항, 광광 정보 탭으로 크게 5개의 구성으로 나누었습니다.

기본적으로 쓰기, 읽기, 수정, 삭제 등의 기능은 공통적으로 사용하되 각자의 게시판마다 특징으로 할만한 기능을 하나씩 넣어보았습니다.

후기 게시판에선 반려동물 동반가능 여부를 말머리에서 확인할수 있고 좋아요 기능을,

자유 게시판에선 댓글 기능을,

Q&A 게시판에선 답글 기능과 관리자에게는 체크박스가 보여서 일괄적으로 삭제할 수 있는 편리성을,

공지사항에선 관리자만이 게시글의 수정, 삭제, 작성 등을 할수 있도록했습니다.

그리고 핵심적인 관광 정보에서는 한국관광공사의 오픈 API를 활용하여 사용자가 관광지, 숙박시설, 축제 세가지 카테고리를 선택하여 해당하는 정보를 제공해주도록 했습니다.

 

제가 담당한 부분은 회원관리와 관련된 페이지, 공지 사항이었습니다. 이후 추가로 담당하게된 파트는 Ck에디터 적용, 스프링 시큐리티 그리고 CSS의 적용이었습니다.

 

문제점 : 

 디버깅을 하면서 다수의 컴퓨터에서 한가지 계정으로 중복 로그인을 할 수 있다는 점을 깨닫고 이를 보완하기 위해 스프링 시큐리티를 사용하고자 했습니다. 스프링 시큐리티를 이용함으로써 사용자 권한에 따라 보이는 화면이 다르거나 URL의 접근을 제한하는 등의 기능도 함께 사용할 수 있었습니다.

 그리고 게시판에서 글을 작성시에 손쉽게 이미지를 첨부하는 기능을 구현하고자 했지만 이 기능을 직접 구현하는 것은 상당히 많은 시간이 필요했고 시간은 제한되어 있었습니다. 그래서 이런 기능을 제공하는 라이브러리를 사용하고자 했고 결국 Ck에디터를 사용했습니다. Ck에디터 외에도 네이버 스마트 에디터, 위지윅 에디터 등이 있었지만 Ck에디터가 제일 많이 사용되고 있으면서 개발자의 필요에 따른 커스터마이징이 손쉬워서 사용했습니다.

 

소감 & 개선

 이번 프로젝트에서는 하나의 기능에 집중하기 보다는 제가 할 일을 하면서 계속 팀원들과의 협업을 중요시 여기면서 진행했습니다. 서로 담당한 파트에서 막히는 부분이 있거나 더 나은 방법에 대해서 끊임 없이 토의했고 덕분에 보다 다양한 시각에서 문제를 바라볼 수 있었습니다. 한두번의 경험으로 단번에 이러한 능력이 뛰어나게 발전하지는 않겠지만 이런 경험의 반복을 통해 문제를 다양한 시각에서 바라보고 문제 해결 능력을 늘릴 수 있을것이라 생각했습니다.

 반면 이번 프로젝트에서 아쉬웠던 점은 게시판이 4개씩이나 되는 것은 사실상 중복된 기능의 반복이라 느껴졌습니다. 그래서 페이지 자체가 상당히 지루하게 느껴졌습니다. 다음에 하게될 프로젝트에서는 기획 단계에서 보다 섬세한 설계를 하여 사용자가 루즈하게 느껴지지 않는 사이트를 만들어야겠다 생각했습니다.

 

깃허브 링크

https://github.com/MeowMeowPuppy/WELCOME.git