Skip to content

sniperfactory-official/sfac-lms-team-a

Repository files navigation

스나이퍼팩토리 LMS 학습관리 시스템





🚀 배포 URL 바로가기


이메일 로그인 테스트 계정

관리자 수강생
ID [email protected] [email protected]
PW test1234 test1234


🛠️ 기술 스택




💻 프로젝트 소개

LMS 사이트 제작

이 프로젝트는 LMS 사이트 제작으로 총 5개의 분류를 각각의 한팀씩 맡아 제작하여 최종적으로 5개의 결과물을 하나로 합치는 방식으로 진행 하였습니다.

각각의 분류는 아래와 같습니다.

  1. 자체 디자인시스템 라이브러리 개발
  2. 오픈소스리액트 비디오 플레이어 개발
  3. 과제제출/평가시스템 제작
  4. 클래스룸 수강시스템 제작
  5. 커뮤니티&마이페이지 학습 진행률 시스템 제작

📖 LMS란?

학습 관리 시스템은 조직에 학습 프로세스의 모든 측면에 대한 프레임워크를 제공하는 소프 트웨어 애플리케이션입니다. 우수한 LMS 시스템은 AI와 스마트 기술을 사용하고, 다른 중요 HR 및 엔터프라이즈 관리 시스템과의 클라우드 통합을 지원합니다. LMS는 모든 학습 및 교육 컨텐츠를 저장, 제공하고 추적합니다.


📆 프로젝트 기간

2023년 7월 17일 ~ 2023년 8월 11일



🤝 협업

5개의 분류 중 3-4-5분류는 하나의 사이트 기능을 3개로 나눈 만큼 협업이 중요했습니다.

  • 세 팀이 한 사이트를 만드는 만큼 하나의 팀처럼 움직여야 했기에, 아래와 같은 방법을 이용해 적극적으로 소통했습니다.

스크린샷 2023-08-13 오전 2 20 49

  • 이슈 등록 또한 라벨링을 통해 어떤 팀이 어떤 기능을 만들고 있는지 작성했으며 이슈 내부적으로는 task를 작성하여 트래킹하기 편하게 만들었습니다.

  • github의 projects를 이용한 칸반보드로 3팀이 모두 진행할 기능, 진행중인 기능, 앞으로 진행중인 기능을 알아볼 수 있도록 하였습니다.

  • 3팀이 하나의 코드로 합치는 만큼 코드 컨벤션이 다르다던가 하는 여러가지 문제점이 발생할 수 있습니다. 이런 문제를 해결하고자 develop이나 main 브랜치에 팀 브랜치를 merge하는 경우 팀장들을 리뷰어로 등록하고 코드리뷰를 진행하였습니다. 이를 통해 굳이 3팀이 다 모이지 않아도 서로의 팀들 작업 상황을 트래킹 할 수 있었습니다.

  • 디스코드나 슬랙, zep, VS Code 라이브 셰어 등 협업 툴들을 사용하여서 많이 모여서 작업을 진행 하였습니다.

  • 슬랙이나 zep 같은 경우는 3팀 뿐만 아니라 이 프로젝트에 참여하는 모든 팀이 모여야 하는 경우 공지를 하거나 모여서 회의를 할 때 사용하였습니다.

  • 한달 안에 사이트의 모든 기능을 제작하기 위해서는 3팀이 공용 컴포넌트를 제작 해야만 했습니다. 똑같은 기능을 하는 코드를 굳이 여러번 만들지 않도록 하여 시간을 아꼈습니다.

    - 10팀 - 로그인 / 로그아웃 / 헤더 / 푸터 / 이미지 업로더 기능
    - 4팀 - 파일 드래그 앤 드롭
    - 8팀 - 모달과 사이드바
    
  • 허스키를 통해 커밋 컨벤션을 지정해 커밋 형식을 통일했습니다.




📂 폴더구조

📦sfac-lms-team-a
 ┣ 📂public
 ┃ ┗ 📂images
 ┣ 📂src
 ┃ ┣ 📂_test_
 ┃ ┣ 📂app
 ┃ ┃ ┣ 📂assignment
 ┃ ┃ ┣ 📂classroom
 ┃ ┃ ┣ 📂community
 ┃ ┃ ┣ 📂forgotPassword
 ┃ ┃ ┣ 📂lectureHall
 ┃ ┃ ┣ 📂mypage
 ┃ ┃ ┣ 📂resetPassword
 ┃ ┣ 📂components
 ┃ ┣ 📂constants
 ┃ ┣ 📂hooks
 ┃ ┃ ┣ 📂community
 ┃ ┃ ┣ 📂lecture
 ┃ ┃ ┣ 📂login
 ┃ ┃ ┣ 📂mutation
 ┃ ┃ ┣ 📂mypage
 ┃ ┃ ┣ 📂queries
 ┃ ┃ ┣ 📂reactQuery
 ┃ ┃ ┣ 📂user
 ┃ ┣ 📂redux
 ┃ ┣ 📂types
 ┃ ┣ 📂utils

🗄️DB 설계



🙌🏻 팀 소개

📍 커뮤니티 & 마이페이지 팀

📍 강의실 팀

📍 과제방 팀