HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📯
부스트캠프 7기 BE 멤버쉽 설계
/
에디터 미션은 결국 뭐였을까요

에디터 미션은 결국 뭐였을까요

요약
확인
확인
레이블
13주차
  • 어차피 공개되도 만들 시간이 없지만 계속 신경쓰입니다!
 
기획서 & 디자인 링크
  • 별도 기획서는 없습니다.
  • UI는 slack을 참고해주세요.
    • notion image
미션의 목적
에디터는 웹 애플리케이션 개발 중에서 특히나 복잡도가 높은 것으로 유명한 애플리케이션입니다.또한 Google Docs나 Notion 도 에디터라 부를 수 있습니다.
이번 미션에서는 특히 미션을 수행함에 있어서 본인 스스로 '필수로 구현할 것'과 '선택하여 구현할 것'을 분리하여,본인이 가진 모든 역량을 다 쏟아부어서 에디터를 구현해봅시다.
프로젝트를 진행하는 데 있어 '본인의 학습에 도움이 될 것'을, 구현하고 싶은 걸 우선적으로 구현하시면 됩니다.
요구사항
  • 기술적인 제한사항은 특별히 없습니다.
    • React를 써도 좋고 Vue를 써도 좋고 Vanilla를 써도 좋습니다.
  • ES Modules를 기반으로 구성되어야 합니다.
  • Mono Repo로 구성되어야 합니다.
    • 예시)
      • pacakges/
        • app/
          • client
          • server
        • editor
    • 따라서, 다른 서비스 (웹 애플리케이션)에서 Editor를 가져와 사용할 수 있어야 합니다.
  • 텍스트 편집 및 수정이 가능해야합니다.
    • 스타일로 굵기 (Bold), 기울임꼴 (Italic), 밑줄 (Underline) 적용할 수 있습니다.
    • 글자 크기를 변경할 수 있습니다.
    • 특정한 글 영역을 선택하여 링크를 추가할 수 있어야합니다.
    • 순서 있는 목록, 순서 없는 목록을 넣을 수 있습니다.
    • 인용구를 추가할 수 있습니다.
    • 코드를 삽입할 수 있습니다.
      • 코드의 Syntax Hightlight는 선택입니다.
    • 텍스트의 색상을 변경할 수 있습니다.
    • 텍스트의 배경색을 변경할 수 있습니다.
  • 임베디드 콘텐츠 삽입을 지원해야합니다.
    • 링크를 삽입한 경우 미리보기 링크를 보여줄 수 있어야 합니다.
    • 이미지를 삽입하고, 보여줄 수 있어야합니다.
    • 동영상을 삽입하고, 보여줄 수 있어야합니다.
    • 파일을 삽입하고, 보여줄 수 있어야 합니다.
  • 편집 히스토리를 관리할 수 있어야 합니다.
    • 특정한 예약어 (보통 CMD + Z, 윈도우는 CTRL + Z)를 이용하여 Undo가 가능해야합니다.
    • 특정한 예약어 (보통 CMD + SHIFT + Z)를 이용하여 Redo가 가능해야합니다.
    • 게시글의 임시 저장이 가능해야합니다.
  • 미리보기를 지원합니다.
  • 뷰어를 만들어야 합니다.
    • 편집 기능이 포함되어있지 않은, 작성된 콘텐츠를 보여줄 뷰어를 제작해야합니다.
    • 뷰어를 다른 애플리케이션에서 사용할 수 있어야 합니다.
  • 불러오기 / 내보내기 기능을 구현합니다.
    • 마크다운 문법으로 불러오기 / 내보내기
    • HTML로 불러오기 / 내보내기
    • PDF로 내보내기
  • GitHub 연동하기
    • GitHub로 로그인
    • GitHub 마크다운 불러오기 / 내보내기
      • MD 파일의 링크를 바탕으로, 해당 MD파일을 에디터로 불러옵니다.
      • MD 파일의 링크를 바탕으로, 에디터의 내용을 MD로 변환한 후 GItHub에 반영합니다.
        • 즉, Commit/Push가 이루어져야합니다
    • MD 파일 링크 예시
      • https://github.com/JunilHwang/TIL/blob/master/README.md