Redis를 활용하면 서버리스(serverless) 애플리케이션을 얼마나 쉽고 실용적으로 개발할 수 있는지 보여드리기 위해, 저희는 예제 애플리케이션들을 꾸준히 제작해 왔습니다. 그중 가장 큰 호응을 얻은 사례가 바로 로드맵 투표 애플리케이션(Roadmap Voting Application)입니다. 그러나 실제 서비스에 적용해 보면서 두 가지 뚜렷한 문제점이 드러났습니다.
- 스팸 항목 증가: 애플리케이션에 관리자 대시보드가 없어서, 부적절한 항목을 삭제하려면 매번 직접 Redis에 접속해야 하는 번거로움이 있었습니다.
- 출시 상태 관리 불가: 일부 기능을 실제로 출시했음에도, 해당 항목을 '출시됨'으로 표시하거나 투표 목록에서 자동으로 제외할 방법이 없었습니다.
이 두 가지 문제를 한 번에 해결하기 위해 저희는 인증(authentication) 기능을 추가하기로 결정했습니다. 인증 도입으로 얻을 수 있는 효과는 명확했습니다.
- 사용자는 로그인한 경우에만 새로운 기능 요청(feature request)을 등록할 수 있습니다.
- 관리자 권한을 설정하여, 특정 기능 요청을 삭제하거나 '출시 완료'로 전환할 수 있습니다.
이를 위해 싱글 사인온(Single Sign-On, SSO) 옵션까지 지원하는 Auth0 인증 모듈을 통합했습니다. 아래는 인증 기능이 적용된 새로운 Upstash 로드맵 투표 앱의 화면입니다.
페이지 하단으로 스크롤하면, 이미 출시가 완료된 기능 요청들이 별도로 정리되어 있는 것도 확인할 수 있습니다. 덕분에 사용자들은 현재 투표 중인 항목과 이미 반영된 항목을 한눈에 구분할 수 있습니다.
나만의 프로젝트에 직접 배포해 보기
이 로드맵 투표 앱은 여러분의 프로젝트에서도 손쉽게 만들고 배포할 수 있습니다. 저장소(Repo)에 정리된 안내 단계를 따라 진행하세요. 코드를 직접 작성할 필요 없이, Redis와 Auth0를 연동하기 위한 환경 변수(environment variables)만 설정하면 바로 사용할 수 있습니다.
만약 인증 기능이 필요 없는 더 간단한 버전을 선호하신다면, 예제 저장소에서 Auth0 이전 버전을 확인하고 활용하실 수 있습니다.