Easy Tube

  • 개인 프로젝트
  • 프로젝트 기간: 2023.04.14 ~ 2023.05.24
  • 프로젝트 방식: React.js, Redux, Node.js, MongoDB, AWS EC2, AWS Route 53
  • 프로젝트 URL: EasyTube
  • Github Link: https://github.com/Easy212/youtube_project
  • 프로젝트 설명
    리액트와 노드의 개념을 익히고 어떻게 웹사이트를 만들 수 있는지를
    배우기 위해 강의를 들으며 제작한 반응형 웹 페이지 입니다.
구현 기능
  1. 회원가입
  2. 로그인/로그아웃
  3. 동영상 업로드
    • 동영상 업로드시 썸네일 생성 후 저장
    • 동영상 업로드시 드래그엔 드롭으로도 가능
  4. 랜딩(메인)페이지에 업로드한 동영상 출력
  5. 동영상 디테일 페이지
    • 동영상 제목 및 내용 출력
    • 동영상 수정/삭제
      • - 로그인한 아이디와 업로드한 아이디가 일치하는 경우 수정/삭제 가능
    • 댓글/답글
      • - 로그인한 경우만 가능
      • - 댓글 쓰기 기능
      • - 답글 쓰기 기능
      • - 로그인 되어있는 아이디와 댓글 작성자 아이디가 같은경우 삭제버튼 활성화
    • 좋아요/싫어요
      • - 로그인한 경우만 가능
      • - 한 동영상에 좋아요/싫어요 한개만 선택가능(토글)
    • 구독 및 구독취소 기능
      • - 타인의 동영상에 구독 및 구독취소 버튼 활성화
      • - 자신이 업로드한 동영상은 구독버튼 비활성화
      • - 구독자수 표시 기능
  6. 동영상 클릭시 조회수 증가
프로젝트 후기
    • 기술의 개념과 원리 공부
    • 인터넷 강의를 통해 진행했던 프로젝트였으며 해당 강의가 모든 기능과 원리에 대해 자세히 설명해주는 강의는 아니었기에 코드에 대해 이해하고 공부 하는데에 많은 시간이 소요
    • 강의에 나오지 않는 기능 추가 구현
    • 클릭시 조회수 증가, 업로드 동영상 정보수정, 업로드 동영상 삭제, 댓글 및 답글 삭제
    • AWS EC2를 이용해 배포
    • 배포하는 과정에서 가상 서버로 연결 해놓은 PC를 종료하게 되면 배포중단되어 PC를 종료후 에도 무중단으로 배포를 하는 방법 습득 및 구현
    • 도메인을 구매하여 AWS EC2에서 제공한 IP와 구매한 도메인 연결