커리큘럼
home
React
home

admin (CP/수업 - 승인 반려)

Created
2025/02/03 06:10
Tags

“양질의 서비스를 제공하기 위해”

시클시클은 이용자들에게 양질의 서비스를 제공하기 위해 기업과 수업의 검증 절차를 만들었습니다.
시클시클의 관리자가 사용하는 admin 페이지를 통해 승인된 기업과 수업만 활성화 됩니다.
기업 승인 / 거부 기능
CP(Content Provider)쪽으로 회원가입을 신청하면 해당 CP 가입승인 페이지에 신청 목록이 나타납니다.
테이블에 있는 승인, 거부 버튼을 누르면 테이블이 리프레시 되면서 승인/거부 작업이 완료됩니다.
거부한 CP는 DB에서 ‘삭제’
거부한 CP를 어떻게 처리해야 할지 고민했습니다.
이메일이 같을 경우 재가입 신청이 어렵기 때문에 해당 CP 정보를 DB에서 완전히 삭제하는 방법을 선택했습니다.
실제로 활동한 유저가 아니기 때문에 추후 데이터 활용에도 문제가 되지 않을 것이라 생각했습니다.
수업 승인 / 반려 기능
승인된 CP가 수업을 등록할 경우, 해당 수업승인 페이지에 수업신청 목록이 추가됩니다.
승인 클릭
수업승인요청 테이블에서 request_status가 ‘approve’로 변합니다.
수업 테이블의 status 칼럼이 ‘OPEN’으로 변해 수업이 노출됩니다.
반려 클릭 후 반려 사유를 입력
수업승인요청 테이블에서 request_status가 ‘reject’로 변하며 반려사유가 저장됩니다.
수업 테이블에서 해당 수업은 softDelete로 삭제됩니다.
Transaction
해당 수업 승인/반려 기능은 2개의 데이터베이스의 상태를 변경하고 있습니다.
테이블
칼럼
상태
수업승인 요청
request_status
승인/반려
수업
status
OPEN 또는 삭제
수업승인 요청 칼럼이 승인으로 변경되었으나, 수업의 status가 OPEN이 되지 않아 노출되지 않는 경우,
수업승인 요청 칼럼이 반려로 변경되었으나, 수업이 삭제되지 않고 있는 경우 등의 상황을 방지하기 위해 트렌젝션을 도입하였습니다.
효과
트랜잭션을 통해 수업 승인/반려 과정에서 발생할 수 있는 데이터 불일치 문제를 방지
두 데이터베이스 간의 상태를 항상 일관되게 유지
이를 통해 시스템의 신뢰성을 높이고, 사용자에게 정확한 정보를 제공하며, 관리자가 승인/반려 작업을 안전하게 수행할 수 있도록 보장할 수 있게 되었습니다.