Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Next.js, Redis, Auth0로 구축하는 로드맵 투표 애플리케이션

Redis를 활용하면 서버리스(serverless) 애플리케이션을 얼마나 쉽고 실용적으로 개발할 수 있는지 보여드리기 위해, 저희는 예제 애플리케이션들을 꾸준히 제작해 왔습니다. 그중 가장 큰 호응을 얻은 사례가 바로 로드맵 투표 애플리케이션(Roadmap Voting Application)입니다. 그러나 실제 서비스에 적용해 보면서 두 가지 뚜렷한 문제점이 드러났습니다.

  • 스팸 항목 증가: 애플리케이션에 관리자 대시보드가 없어서, 부적절한 항목을 삭제하려면 매번 직접 Redis에 접속해야 하는 번거로움이 있었습니다.
  • 출시 상태 관리 불가: 일부 기능을 실제로 출시했음에도, 해당 항목을 '출시됨'으로 표시하거나 투표 목록에서 자동으로 제외할 방법이 없었습니다.

이 두 가지 문제를 한 번에 해결하기 위해 저희는 인증(authentication) 기능을 추가하기로 결정했습니다. 인증 도입으로 얻을 수 있는 효과는 명확했습니다.

  • 사용자는 로그인한 경우에만 새로운 기능 요청(feature request)을 등록할 수 있습니다.
  • 관리자 권한을 설정하여, 특정 기능 요청을 삭제하거나 '출시 완료'로 전환할 수 있습니다.

이를 위해 싱글 사인온(Single Sign-On, SSO) 옵션까지 지원하는 Auth0 인증 모듈을 통합했습니다. 아래는 인증 기능이 적용된 새로운 Upstash 로드맵 투표 앱의 화면입니다.

Next.js, Redis, Auth0로 구축하는 로드맵 투표 애플리케이션

페이지 하단으로 스크롤하면, 이미 출시가 완료된 기능 요청들이 별도로 정리되어 있는 것도 확인할 수 있습니다. 덕분에 사용자들은 현재 투표 중인 항목과 이미 반영된 항목을 한눈에 구분할 수 있습니다.

나만의 프로젝트에 직접 배포해 보기

이 로드맵 투표 앱은 여러분의 프로젝트에서도 손쉽게 만들고 배포할 수 있습니다. 저장소(Repo)에 정리된 안내 단계를 따라 진행하세요. 코드를 직접 작성할 필요 없이, Redis와 Auth0를 연동하기 위한 환경 변수(environment variables)만 설정하면 바로 사용할 수 있습니다.

만약 인증 기능이 필요 없는 더 간단한 버전을 선호하신다면, 예제 저장소에서 Auth0 이전 버전을 확인하고 활용하실 수 있습니다.