스트림의 주요 목표는 Rails 여행 앱의 UX 개선, 디자인 향상, 모바일 반응형 구현 또는 새로운 기능 추가였습니다. 시청자들의 의견을 수렴하며 진행되었으며, 다음 두 가지 주요 기능이 구현되었습니다.
1. 고향 국가(Home Country) 기능 구현
-
기능 개요: 사용자가 방문한 국가 목록과 별개로 자신의 ‘고향 국가’를 지정할 수 있도록 했습니다. 이는 사용자의 여행 이력을 보다 정확하게 반영하고, 지도상에서 고향 국가를 다른 방문국가와 시각적으로 구분하기 위함입니다.
-
기술적 구현: 데이터베이스 마이그레이션을 통해
user_countries테이블에home_country불리언(boolean) 컬럼을 추가하고, 사용자당 하나의 고향 국가만 지정되도록 유효성 검사를 추가했습니다. 컨트롤러 업데이트를 통해 고향 국가 상태를 처리하고, 지도 시각화에서는 고향 국가를 녹색으로 표시하며, 국가 목록에는 집 이모티콘 배지를 추가했습니다. -
도구 활용: 지도 시각화는 D3.js를 사용하여 렌더링하고, TopoJSON으로 지리 데이터를 처리하며, Stimulus를 통해 JavaScript 컨트롤러를 관리했습니다.
2. 지도 개인화 기능 및 모바일 반응형 구현
-
이름 추가: 사용자가 공유 지도에 자신의 이름을 추가하여 ‘이름의 여행 지도’와 같이 개인화된 제목을 표시할 수 있도록 했습니다.
-
모바일 반응형: 애플리케이션이 모바일 기기에서도 원활하게 작동하도록 반응형 디자인을 적용하여 사용자 접근성을 높였습니다.
개발 환경 및 도구
-
개발 환경: GitHub CodeSpaces를 활용하여 웹 브라우저 내에서 개발을 진행했으며, 로컬 개발 환경은 사용하지 않았습니다.
-
AI 도구: Claude Sonnet 4.5와 Opus 4.5를 주력 AI 모델로 사용하여 코드 생성 및 문제 해결에 활용했습니다. 이는 개발 속도 향상에 크게 기여했습니다.
-
배포: Render를 배포 플랫폼으로 사용하고 있으며, 워밍업 시간 등 개선점에 대한 논의가 있었습니다.
AI 코드 생성 도구에 대한 논의
시청자들과 AI 코드 생성 도구가 개발자의 효율성을 높이는지, 아니면 사고 과정을 저해하는지에 대한 흥미로운 논의가 있었습니다. 대부분의 의견은 반복적인 작업이나 유지보수 작업에 큰 도움이 되지만, 복잡한 문제 해결에는 여전히 개발자의 역량이 중요하다고 보았습니다.