마카오셔틀: 무료 셔틀버스 경로 안내 서비스 개요 및 기술 구현
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, DevOps
대상자
프론트엔드 및 백엔드 개발자, 서비스 개발에 관심 있는 프로그래머, 지도 기반 경로 계획에 관심 있는 사용자
핵심 요약
- '마카오셔틀'은 여러 호텔의 무료 셔틀버스 노선 정보를 통합하여 경로를 안내하는 서비스이며, 지도 기반의 출발지-목적지 검색 기능을 제공합니다.
- 백엔드는 NestJS, DB는 Supabase(PostgreSQL + PostGIS/pgRouting), 프론트엔드는 NextJS로 구현되었습니다.
- CI/CD는 GitHub Actions를 통해, 프론트엔드는 Vercel, 백엔드는 AWS ECS에 자동 배포됩니다.
섹션별 세부 요약
1. 서비스 개요
- '마카오셔틀'은 마카오의 호텔에서 운영하는 무료 셔틀버스 노선 정보를 통합하여 사용자에게 제공하는 경로 안내 서비스입니다.
- 서비스의 주요 기능은 출발지와 목적지를 선택 후, 요일 및 시간대를 기반으로 셔틀버스와 도보 경로를 안내하는 것입니다.
- 사용자 입장에서의 장점은 무료 셔틀버스 정보를 한 번에 확인할 수 있고, 복잡한 검색 과정을 생략할 수 있다는 점입니다.
2. 개발 배경 및 필요성
- 마카오의 무료 셔틀버스 노선 정보가 분산되어 있어, 사용자가 이를 활용하기 어려웠습니다.
- 검색 과정이 복잡하고, 정보의 신뢰성 검증이 필요한 문제가 있었습니다.
- 이를 해결하기 위해, 모든 정보를 한 곳에 통합하고, 경로 계획을 자동으로 제공하는 서비스가 필요했습니다.
3. 기술 스택 및 개발 방법
- 백엔드는 NestJS를 사용하여 구현되었으며, DB는 Supabase를 이용한 PostgreSQL에 PostGIS/pgRouting을 추가하여 지리 정보를 처리했습니다.
- 프론트엔드는 NextJS를 사용했으며, 개발자가 AI 도구(제미니, 챗GPT, 클로드)를 활용해 구현했습니다.
- CI/CD는 GitHub Actions를 통해 자동화되었으며, 프론트엔드는 Vercel, 백엔드는 AWS ECS에 배포됩니다.
4. 개발자 노트 및 제한 사항
- 개발자는 프론트엔드에 대한 지식이 부족했으며, AI 도구를 활용해 구현했습니다.
- 1인 개발로 인해 세부 기능이 부족할 수 있으며, 피드백과 질문을 환영합니다.
- 서비스는 AI 도구와 바이브코딩을 활용해 개발되었으며, 다국어 지원을 위한 향후 확장 가능성도 제시되었습니다.
결론
- 마카오셔틀 서비스는 지도 기반의 경로 계획 기능과 무료 셔틀버스 정보 통합을 통해 사용자에게 편의를 제공하며, NestJS, Supabase, NextJS, GitHub Actions를 기반으로 한 풀스택 개발 사례로 활용할 수 있습니다.