편行 : 편한 여행 회고 1

crystal·2021년 9월 20일
0

지난 7월 말부터 8월 19일까지 약 4주간 '편행: 편한여행'이라는 여행 교통편, 숙박 업소 데이터를 크롤링과 공공데이터 api를 활용하여 데이터 수집 후 내가 가진 예산을 입력하면 여행지를 갈 수 있도록 하는 예약 웹사이트 를 개발했다. 총 4명이서 기획부터 DB설계, 개발을 진행하였다.

1. 개발 동기

내가 가진 돈이 10만원 밖에 없는데 내일 당장 훌쩍 여행을 떠나고 싶을 때가 다들 있었을 것이다.

당장 떠나고 싶어서 숙소 예약, 교통편 예약 따로 따로 보다가 여행 가는 거 자체를 포기한 적이 한 두번이 아니었다 ㅋㅋㅋㅋ 숙소와 교통편은 얼마나 많은지..🤣 나같은 결정 장애들은 어디로 갈지 고르는 것도 너무 힘들다..😢

그래서 즉흥 여행러들을 위한 사이트를 만들면 어떨까?! 생각했다.
편行: 편한 여행 에서 2가지를 포인트로 잡았다.

  1. 심플함
  2. 선택의 폭을 줄여주자!

👉 여행계획을 세우는 게 즐거운 사람들도 있겠지만 계획 세우기 어렵고 스트레스인 사람들을 위한 사이트이다.

🚀 1) 국내여행이 대세

초기 컨셉을 위와 같이 잡았기 때문에 여행 지역 범위를 결정할 필요 가 있었다. 해외? 국내? 해외+국내? 어디로 할까 고민하다가 국내여행 만으로 결정했다. 이유는 밑의 슬라이드에 쓴 것과 같이 코로나로 인해 향후 몇년간은 국내여행이 증가할 것이기 때문이다.

🤦‍♀️ 2) 1박 2일로 당장 여행 떠나고 싶은 여행러들을 위한 사이트

👉 웹사이트를 이용할 타겟층이다.

  1. 적은 예산일지라도 1박 2일 국내여행을 훌쩍 떠나고 싶은 사람
  2. 여행 계획을 세우는 게 스트레스인 사람

2. 도입 효과

👉 도입효과는 다음과 같이 2가지에 초점을 맞추었다.


3. 설계

아래는 카카오 오븐으로 UI화면만 설계 해놓은 페이지이다. 웹사이트 이용도 어려우면 절!대! 안되므로 정말 단순하고 직관적으로 알아볼 수 있도록 메인페이지를 설계 했다.

  1. '출발지' 와 '예산'만 입력해서 검색

  1. 검색하면 나오는 페이지.
    교통편 + 숙소 평점을 기준으로 한번에 결제

👉 간단하게 한 거라 실제로 구현된 페이지와 많이 차이가 난다.


4. 기술 스택

개발에 앞서 기술 스택을 다음과 같이 정했다.

  • Front
    - HTML, CSS, Javascript, Bootstrap
  • Back
    - Java - version11, SpringBoot, Oracle, Maven, Python- numpy, pandas

이 때는 정말 우리가 하고 싶은 프로젝트를 해보자는 마음으로 기획 했다. 그래서 그런지 우리의 역량을 뛰어넘은 기술 스택이었다.

5. 주요 기능

  1. 웹 스크롤링 - 숙박, 항공의 데이터 확보를 자동화
  2. 공공 API - 버스, 기차 데이터 확보
  3. 여행지 랜덤 검색 추천 서비스 - DB에서 검색한 조건에 맞는 여행지 랜덤 추천
  4. 리뷰 게시판 CRUD - 회원의 여행지 리뷰 게시판
  5. 동행 커뮤니티 게시판 CRUD - 동행인을 구하는 동행게시판
  6. 로그인/회원가입 - 일반회원, 관리자

⭐ 가장 중요한 건 3번 여행지 랜덤 검색 추천 서비스기능이다.

⭐ 그리고 5번 동행 커뮤니티 게시판 기능 또한 굉장히 중요하다고 생각했다. 즉흥 여행을 가는 만큼 여행 동행인도 구할 수 있도록 기능을 추가했다.

6. 구현 화면

1) 📌 메인 검색 페이지

👉 메인 검색 페이지에서 출발지와 예산을 검색한다.
예시로 서울을 선택하고, 예산 100,000(십만원)을 입력했다.

2) 여행지 추천 페이지

👉 여행지 추천 검색 쿼리문을 통해 내가 입력한 예산 내에서 평점 순이 높은 교통편과 숙박업소를 추천해준다.

3) 📌 결제 - import API 이용

👉 import API를 이용해서 결제 금액만큼 결제 되도록 했다. 자체적으로 서비스하려면 교통편, 숙소도 자동으로 결제가 되어야 하는데 그렇지는 않다. import API를 이용해 결제시스템 연동만 해놓았다.

4) 📌 로그인 / 회원가입

👉 로그인과 회원가입은 부트스트랩을 이용해서 만들었다.

5) 📌 동행 커뮤니티 게시판 / 리뷰 게시판

👉 동행 게시판과 리뷰게시판은 ui구성이 같다.

5-1) 📌 동행 커뮤니티/리뷰 게시판 등록 (C)

5-2) 📌 동행 커뮤니티/리뷰 게시판 수정 (U)

5-3) 📌 동행 커뮤니티/리뷰 게시판 삭제 (D)

6) 📌 메인페이지 전체적인 구성



7. 마치며

아쉬웠던 점

  • 깃허브를 팀협업에 제대로 활용하지 못했던 점.
  • 리팩토링이 제대로 되지 않아 구조가 너무 복잡해지고 비효율적인 코드들이 어느정도 남아있던 점.
  • 개발하면서 맞딱뜨린 이슈와 해결법들을 문서화하여 정리하지 못한 점.
  • 시간이 부족해서 기획했을 때와 달리 일부 기능들이 구현하지 못했다. 추후에 보완할 예정이다.

만족했던 점

여행갈 때 평소에 느낀 불편한 점을 생각해서 불편한 점을 개선하고 우리가 개발해보고 싶었던 것을 해서 의미가 있고 뿌듯했다. 그리고 평소에 해보고 싶었던 웹 크롤링을 공부하고 구현할 수 있어서 만족스러웠다.

할 수 있는 것과 하고 싶은 것

INTP인 내가 팀장을 맡아서 해낸 프로젝트라 애정이 정말 많이 갔다. 팀장이 되었을 때 우리가 할 수 있는 것우리가 하고 싶은 것에 갭을 어떻게 줄여야할 지 고민을 많이 했다.

할 수 있는 것만 하면 쉽다. 하지만 하고 싶은 것을 하려면 새롭게 공부해서 해내야 하는 부분이 많다. 팀원들의 역량과 전체적인 일정을 고려해가면서 우리가 할 수 있는 것우리가 하고 싶은 것을 적절히 조정해가면서 이끌어가야 하는 게 정말 쉽지 않았다.

항상 2가지를 놓고 어떤 것을 선택해야할 지 고민해야만 했다. PM(Project Manager)분들은 대단하신 것 같다...🤣🤣 여기에 내가 맡은 부분까지 구현해야해서 정말 쉽지 않았지만, 정말 감사하게도 팀원 모두 열심히 하고 좋은 분들이라서 가능하지 않았나 싶다.

기술적인 부분은 시리즈로 추가하여 추후 더 자세하게 다룰 예정이다.

profile
어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧ 

0개의 댓글