Node.js 포인트 기능 구현 방법

조회수 985회

안녕하세요.

첨부한 이미지 유사한 포인트 기능을 개발하고 싶습니다.

궁금한점은 다음과 같습니다.

  1. 포인트를 사용/적립 시 구분 방법

  2. 데이터베이스 스키마 구성

제가 생각하는 방식은 다음과 같습니다.

  1. 사용자 컬렉션에서 'point' 필드 추가

  2. point 컬렉션 생성

  3. type(적립/사용 구분을 위한 구분값 예. 0/1)

  4. point(적립/사용 값)

이 정도로 구성하면 될 것 같은데 제가 생각하는게 맞을까요.

아니면 더 좋은방법이 있을까요.

또는 이러한 경험이 있으신분들이 계실까요.

이미지

  • 해보세요. 답이 정해져 있는 것이 아니잖아요? 정영훈 2019.5.16 23:06

1 답변

  • 묻고 계신 것은 Node.js 질문이 아니라 서비스 기획에 관한 것입니다. 실제로 원하시는 것은 생각보다 훨씬 더 치밀하고 방대할 겁니다.

    1. 포인트를 언제 누구에게 왜 얼마나 지급했나 하는 기록이 보고 싶으실 거에요. 332번 회원의 현재 point값이 29라면 도대체 어디서 30을 받고 어디서 1을 까인 건지 알고 싶어질 거잖아요?
    2. 무엇을 할 때 포인트를 얼마나 받을 수 있다거나 써야만 한다거나 하는 목록이 필요하실 거에요. 6682번 회원이 갑자기 "언제부터 갑자기 댓글쓰면 1포인트 주는 정책이 추가가 됐느냐, 난 그런거 모른다, 당신네들이 오류 일으킨 것 같으니 내가 단 댓글에 대해서 전부 보상해 줘라" 하고 따지러 온다면, 해줄 말이 있어야 할 거잖아요?
    3. 포인트를 무효화하거나 회수할 수 있는지, 있다면 언제 그러한지를 기획하셔야 할 거에요. 말씀하시는 포인트가 "회원 활동 경험치" 같은 일방적 누적 대상이라면 또 모르겠지만, 회원이 열심히 활동해서 모아서 어딘가에 쓰는 것이라면, 그건 경제학적으로 말해서 가치 저장 수단이거든요. 그러면 그건 인위적으로 소모시키지 않는 이상 필연적으로 인플레이션이 일어나는데 이 문제를 대응하셔야 합니다.

    말고도 훨씬 더 많습니다. 그게 다 정리되고 나면 DB를 어떻게 만들어야겠다 하는 부분은 이미 정리돼 있을 가능성이 큽니다. 생각해 보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)