Team Project

LMS 강의 수강 시스템

2023.07 ~ 2023.08참여인원 : 3
LMS 강의 수강 시스템 대표 이미지
1. 자체 디자인 시스템 라이브러리 개발 (4명)
2. 오픈소스 리액트 비디오 플레이어 개발 (2명)
3. 과제 제출 / 평가 시스템 제작 (4명)
4. 클래스룸 수강 시스템 제작 (3명)
5. 커뮤니티 & 마이페이지 학습 진행률 시스템 제작 (4명)
 
위 5개로 나누어진 분류 중, 2~4명으로 구성된 5개의 팀이 각 1개의 기능을 도맡아 하나의 큰 LMS 프로젝트로 합치는 과정을 진행하였습니다. 
팀 과제로 번째 분류인 클래스룸 수강 시스템을 제작하였으며, 개인 과제로 섹션 CRUD, 강의 CRUD, 강의장 상세 페이지 제작 등의 기능을 구현하였습니다.

  • 담당 주요 기능

    • 프로젝트 초기 설정(husky, git hooks)
      • - 통일된 컨벤션 유지를 위한 husky 라이브러리 도입
      • - 커밋 시, 커밋 메세지 컨벤션 검사를 진행하는 git hooks 도입
      • - 커밋 시, 코드 컨벤션을 위한 Prettier 체크 진행 git hooks 도입
    • 파일 업로드(드래그 앤 드롭) 공통 컴포넌트 제작
      • - 과제 제출 및 강의 생성에 필요한 파일 업로드 공통 컴포넌트 제작
      • - 파일 드래그 시, UX 향상을 위한 테두리 색 변화 확인 기능 도입
      • - 파일 업로드 버튼을 통한 접근성 향상
    • 강의 생성, 수정, 삭제 컴포넌트 제작
      • - 파일 업로드 컴포넌트를 통해 영상 강의 생성 기능 구현
      • - MDEditor를 통해 노트 강의 및 실시간 사진 업로드 기능 구현
      • - 강의 수정 시, 기등록 된 정보를 불러와 기본값으로 두어 사용자 경험 향상
      • - 강의 삭제 기능 구현
  • 사용기술 및 언어

    • TypeScript
    • Next.js
    • TailwindCSS
    • Redux
    • React-Query
    • Firebase
    • Vercel
  • 트러블슈팅

    • 노트 강의 생성 이미지 업로드 시, 마크다운 에디터 미리보기에 이미지 등록 실패
    • - 업로드 즉시 firebase storage에 저장하여 반환되는 이미지 링크를 통해 미리보기 구현