Skip to content

지원서(application) 테이블에서 학점/어학 인증 분리 및 인증 담당자 승인 관리자 페이지 기능 추가 #57

@wibaek

Description

@wibaek

어떤 기능인가요?

추가하려는 기능에 대해 간결하게 설명해주세요

현재는 application 테이블에 학점, 학점 인증 url, 어학 성적, 어학 성적 인증 url, 인증 상태(성적 공유 조회 권한 여부)가 같이 저장되어 있습니다.

현재 application 테이블에서 관리하고 있는 성적 인증 정보를 더욱 유연하고 확장 가능한 구조로 개선하고자 합니다.

  1. 지원 학기 필드 추가

    • 현재는 지원 학기 필드가 없어 25-1 모집을 시작하기 어렵습니다. 그렇기에 지원 학기 필드 추가가 필요해 보입니다.
  2. 학점/어학 인증과 지원서의 분리

    • 현재는 유저가 자신의 학점/어학 성적을 인증한 후 성적 공유 조회 권한을 얻은 이후에 조회를 마친 후, 자신의 성적을 다시 인증하면 기존 인증 데이터가 덮어 씌어져 자신의 지원/성적 정보를 삭제할 수 있습니다. 이렇게 되면 이후 서비스에서 과거 데이터를 제공할 때도 애로 사항이 생기고, 계속 자신의 데이터를 공개하는 유저들도 피해를 볼 수 있습니다.
    • 성적 인증 정보를 별도의 테이블로 분리하여 관리함으로써, 인증된 데이터의 안전한 보존이 가능해집니다. 사용자가 새로운 성적을 인증할 때 기존 데이터를 덮어쓰지 않고, 새로운 레코드로 추가할 수 있습니다.
    • 또한 유저가 자신의 데이터를 최신화 하는 것이 더 편해집니다. 현재는 자신의 데이터를 더 정확한 데이터로 최신화하려 해도, 오히려 다시 인증을 받을 때 까지 기다려야 하는 문제가 있습니다. 그렇기에 이를 분리한다면 성적 공유 조회 권한은 계속 유지된 채로 새롭게 인증을 받을 수 있습니다.
      • 즉 현재는 verify_status가 파일 인증 완료, 성적 공유 조회 권한 여부 라는 2가지의 의미를 중복으로 가지고 있습니다
    • 그리고 현재는 DB에서 수동으로 인증을 받고 있지만, 이후 학점/어학 인증 처리용 관리자 페이지를 만들었을 때 학점/어학 인증을 분리하는 것이 구현이 더 용이할 것 같습니다.
    • 또한 학점 인증같은 경우는 매학기마다 최신화가 필요하지만, 어학 성적 인증은 24-2에 지원했다가 탈락한 유저가 이후 25-1에 지원할때 기존에 인증된 정보를 재활용 할 수 있게 만든다면 더욱 편리할 것 같습니다. 이를 위해서도 어학 성적 인증의 분리가 필요합니다.
  3. 학점/어학과 지원서의 분리(잔여 파일, 개인정보의 측면에서)

    • 현재 학점/어학성적 파일을 받아 S3에 저장하고 있습니다. 이때 새롭게 인증 요청이 들어오면 기존 학점/어학성적 파일로 연결된 url은 소실되고 맙니다(파일로의 포인터가 사라진것과 같은 상황).
    • 그렇기에 현재는 특정 시점 이전의 인증 파일들을 삭제하려 해도 포인터가 소실되어 지우기 어렵습니다.
  4. 학점과 어학 인증의 분리

    • 현재는 학점인증과 어학인증을 동시에 진행하게 되어 있습니다. 그렇기에 하나만 새롭게 업데이트 하려해도 둘 모두를 다시 인증받아야 하는 상황입니다.
    • 이를 분리함으로서 각각을 개별적으로 인증받을 수 있습니다.
    • 또한 현재는 학점/어학 인증을 받을 때 둘중 하나에 문제가 있을 때 어떤것이 문제인지 알려줄 수 없는데 이를 유저에게 정확히 알려주고, 하나만 다시 인증받게 할 수 있습니다.
  5. 성적 인증 시스템의 범용성 확대

    • 성적 인증을 지원서와 독립적인 기능으로 분리함으로써, 향후 다양한 용도로 활용할 수 있습니다.
    • 예를 들어, 이후 다양한 학교로 서비스가 확장 되어 학교 인증 시스템이 필요해질 때, 이메일 인증 외의 추가적인 인증 방법으로 학점 인증을 활용할 수 있습니다.

작업 상세 내용

위와 같은 이유로 테이블을 분리하는 것을 건의드립니다.

학점/어학 점수 인증 테이블에 다음과 같은 필드를 구성하면 될 것 같습니다

  • 유저id, 인증 파일 url, 점수(+ gpa_criteria와 어학 시험 종류), 인증 학기(25-1, 24-2등), 인증 확인 여부, createdAt, updatedAt

지원서 테이블에는 최종적인 점수만 기록되게 됩니다.

추가적으로

별도로 이번에 지원대학이 3개까지 늘어난 관계로 이를 위한 테이블 수정도 필요해 보입니다.

참고할만한 자료(선택)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions