커리큘럼
home
React
home

내 강의 관리

Created
2025/02/03 06:10
Tags

구매한 강의목록을 제공, 각각의 강의에 대해 공지 사항 확인, 게시글, 댓글 생성 등의 커뮤니티 활동을 구현

내 강의 목록

내 강의실 페이지에서는 구매한 강의 목록을 제공합니다.
프로필 관련 페이지를 통해 내 강의실에 접근할 수 있습니다.
수강 중이거나 앞으로 수강할 강의를 볼 수 있습니다. 해당 강의를 클릭하면 강의 상세 페이지로 이동합니다.
종료된 강의는 수강 완료 탭에서 확인 할 수 있습니다.

수업 게시판

내 강의 목록에서 원하는 강의를 클릭하면 해당 강의의 수업 게시판으로 이동합니다. 이 상세 페이지에서는 수업 공지 확인, 해당 기수의 멤버들이 게시글을 작성하고, 좋아요, 댓글을 달 수 있습니다.
수업 공지에서는 공지 사항을 확인하고 강의 자료를 다운로드 받을 수 있습니다.
수강생들은 게시판 글 작성을 통해 같은 기수 수강생들과 소통할 수 있습니다.
게시글은 제목, 내용, 이미지를 포함해 등록합니다.
게시판 탭을 클릭하면 목록 확인이 가능하며, 해당 글을 누르면 상세 페이지로 이동합니다.
작성된 글은 수정, 삭제가 가능하며 함께 수강하는 기수 수강생들이 좋아요 추가/삭제, 댓글 등을 달 수 있습니다.
댓글 또한 수정, 삭제와 좋아요 추가/삭제가 가능합니다.

도입한 이유 및 고민

AWS S3
- 자료 다운이나 이미지 업로드를 위해 AWS S3 선택했습니다.
도입한 이유는 크게 3가지가 있습니다.
1.
확장성 : 필요에 따라 용량을 자유롭게 확장할 수 있어서 저장 공간이 부족해질 걱정이 없고 큰 파일을 처리할 때 S3 특성상 전송 속도가 빠르기 때문에 자료를 빠르게 다운로드 하거나 업로드 할 수 있습니다.
2.
비용 효율성 : 사용한 만큼 비용을 지불하기 때문에 초기 투자 비용이 없습니다.
3.
보안 : 수업 자료 특성상 보안이 중요한데 암호화나 I AM을 통해 강력한 보안 기능을 제공하여 민감한 데이터를 안전하게 보관할 수 있습니다.
AWS CloudFront CDN
- AWS CloudFront CDN을 도입한 이유는 다음과 같습니다.
1.
응답 시간 단축 : S3만 사용할 경우 사용자가 서버와 물리적으로 멀리 떨어져 있을 때 응답 시간이 길어질 수 있습니다. CloudFront는 전 세계에 분산된 엣지 로케이션(Edge Location)을 통해 사용자와 가장 가까운 서버에서 콘텐츠를 제공하여 응답 시간을 크게 줄일 수 있습니다.
2.
서버 부하 감소 :S3만 사용할 경우 모든 요청이 S3로 전달되며, 이는 트래픽 부하를 일으킬 수 있습니다. CloudFront를 사용하면 캐시 된 콘텐츠를 제공함으로써 S3로의 요청 수를 줄여 서버 부하를 많이 감소시킬 수 있습니다.
3.
보안 강화 : S3만 사용할 경우 S3 버킷이 직접 노출이 될 수 있지만, CloudFron와 함께 사용하면 S3 버킷을 보호할 수 있습니다.
추가적 고민
s3 업로드 과정에서 한글명은 깨져서 올라가는 문제가 발생했었습니다.
uuidv4()를 이용해서 고유한 UUID를 추가하여 파일명이 변형하는 문제를 해결했습니다.