업무일지 : 강의 & 과제 기능 구현

YuJangHoon·2022년 7월 20일
0

지원센터Q

목록 보기
2/2
post-thumbnail

업무의 시작

학습팀으로부터의 Request... 강의를 듣는 학생들에게 과제를 낼 수 있는, 그것을 매니징 팀에서 확인할 수 있는 시스템을 만들어달라는...

DB 구조 짜기...

뇌가 안돌아가서 짜는데 애먹었다.
대충 이런 식으로 Lecture라는 새로운 collection의 기본 document 형식을 만들어 보았다.
잘 짜지 못하는 것 같지만, 굳이 해석을 해보자면

lecture ID : 강의이름_강의매니저_시작날짜
lastrevise : 최신 수정일
students : 학생별 진행중과제/완료된과제를 저장하는 object
studentList : students의 keys로 대체해도 되네...? 이런 망할...
assignments: 과제ID별 과제내용과 과제기한을 기록하는 obejct
assignKey : 과제가 생겨날 때마다 증가하는 (Auto였으면 하는) Increment Key.

  • 굳이 students에게 과제자체가 아니라 과제ID를 부여한 이유 : 과제 내용이나 기한이 수정될 경우를 대비하여. 만일 과제자체를 부여하게 되면, 일일이 수정해줘야한다.
lectureID: "빠른독해 바른독해_김선생_220715",
      lectureName: "빠른독해 바른독해",
      manager: "김선생",
      startday: "2022-07-15",
      lastrevise: "2022-07-22",
      students: {
        김철수_070719: {
          진행중과제: [1, 2, 3],
          완료된과제: [
            [4, "2022-07-18"],
            [5, "2022-07-18"],
            [6, "2022-07-18"],
          ],
        },
        김영희_061108: {
          진행중과제: [1, 2, 3, 4],
          완료된과제: [
            [5, "2022-07-18"],
            [6, "2022-07-18"],
          ],
        },
      },
      studentList: ["김철수_070719", "김영희_061108"],
      assignments: {
        1: {
          과제내용: "과제1",
          과제기한: "2022-07-14",
        },
        2: {
          과제내용: "과제2",
          과제기한: "2022-07-15",
        },
        3: {
          과제내용: "과제3",
          과제기한: "2022-07-16",
        },
        4: {
          과제내용: "과제4",
          과제기한: "2022-07-17",
        },
        5: {
          과제내용: "과제5",
          과제기한: "2022-07-18",
        },
        6: {
          과제내용: "과제6",
          과제기한: "2022-07-19",
        },
      },
      assignKey: 7,

Front End 제작/수정 사항

#1 (New) 강의리스트 페이지

  • 현재 재직중인 매니저 리스트 필요
  • 강의 생성 : modal창 여는 버튼, modal창
    - modal창 : 강의명, 담당매니저, 강의시작일을 입력 / 강의 생성 버튼
  • 강의 리스트 : 최종수정일을 기준으로 내림차순 정렬
    - 각 강의를 누르면 해당 강의 상세페이지로 이동. 우측에 강의 삭제 버튼

#2 (New) 강의 상세페이지

  • 전체 학생 리스트 필요
  • 학생 추가 / 삭제 : 학생추가 modal 여는 버튼, 추가modal창, 각 학생 이름 옆 삭제버튼
    - 추가modal창 : 검색창, 학생이름 검색시 해당 검색어가 포함된 학생ID 추천, 클릭시 자동완성되며 "+" 버튼 누를 시, 기존의 studentList에 존재하는지 확인 후 studentList push 및 students에 새로운 Key로 추가. 해당 학생DB의 수강중강의 array에도 push
    • 삭제버튼 : studentList에서 제거, students에서 key 제거, 학생DB의 수강중강의 array에서 splice
  • 강의 추가 / 수정 / 삭제
  • 과제 진행 <-> 완료
  • 진행중과제 정렬 기준 : 마감일, 완료된과제 정렬 기준 : 완료일
  • 완료과제, 미완료과제, 지각과제 등에 대한 색상 표시

#3 (Update) TR page

  • 진행중과제 열람 버튼 : 진행중과제 숫자 표기
  • 과제 진행 <-> 완료,
  • 완료과제, 미완료과제, 지각과제 등에 대한 색상 표시

Back End 제작/수정 사항

  • lecture에 대한 CRUD
profile
HYU DataScience, ML Engineer - 산업기능요원(4급)

0개의 댓글