'22 봄학기 클라우드컴퓨팅 수업 프로젝트
LectBox는 대학생을 위한 강의용 공유 드라이브로, DropBox를 모티브로 개발된 SaaS입니다. 강의자와 수강자가 강의자료, 과제 제출물 등에 해당하는 파일들을 공동으로 관리하며, 각 역할에 따라 폴더와 파일에 관한 접근 권한을 구분하여 편리하고 안전한 자료관리가 가능합니다. 이 리포지토리는 서비스 구성 중 프론트엔드를 관리합니다.
- 강의자와 수강자로 나누어 회원가입
- 계정관리 및 로그아웃 가능
- 강의자 계정은 강의실 생성이 가능하다
- 강의실 생성
- 강의실 내부 강의, 폴더 섹션에 폴더 CRUD 및 파일 CRUD 및 업로드, 다운로드 가능
- 현재 사용중인 용량을 표시하여 클라우드 리소스 관리가능
- 수강자 계정은 강의실 코드 입력하여 입장
- 수강자는 강의자가 만든 파일 변경 불가, 다른 수강생이 제출한 파일도 변경 불가
- 강의를 위한 공유 스토리지 제공
- 강의에 참여하는 강의자와 수강자가 이용 목적에 맞춘 UI를 제공
- 기본 구조: 강의실, 강의 폴더, 과제 폴더
- 역할별 권한 부여
- 강의자: 강의실 생성 및 삭제, 폴더 관리, 파일 관리
- 수강자: 강의실 입장, 본인이 생성한 파일 관리
- 기본적인 공유 스토리지 기능 제공
- 강의실 당 최대 용량, 사용 용량 제공
- 파일 관리
- 업로드, 다운로드, 삭제
- 폴더별 목록 출력
- 폴더 및 강의실 생성, 삭제
- 디렉토리/강의실 생성
- 디렉토리/강의실 이름, 공유 범위 등의 업데이트
- 디렉토리/강의실 삭제
- 강의실 회원 권한 설정
- 유저 정보 관리
- 회원가입
- 회원 정보 업데이트
- 회원 탈퇴
- 회원 권한 부여 및 확인
- Server: Django, DRF, Amazon EC2 (배포)
- Database: SQLite3
- Front-End: React, Amazon S3 & CloudFront (배포)
- Storage: Amazon S3