Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 3.59 KB

README.md

File metadata and controls

44 lines (33 loc) · 3.59 KB

fe-library

Inner Circle 3기 오픈소스 라이브러리 제작 프로젝트. 3~4주차 과제로 오픈소스 라이브러리를 작성합니다.

프로젝트 개요

  • 리더와 본인이 협의한 주제로 라이브러리를 작성한 후 npm에 오픈소스로 퍼블리싱
  • 주제는 예시 중 하나를 고르거나 본인이 원하는 주제로 설정 가능합니다.

작업 방법

  • 4월 5일 (토) 22시까지 본인이름 - 라이브러리 주제를 제목으로 한 이슈를 등록 (OSS 프로젝트 템플릿 사용)
    • 아직 작성이 끝나지 않은 이슈에는 WIP 라벨을 붙여주세요.
  • 이슈를 통해 리더와 상의 후 프로젝트를 확정하고 진행. 확정된 프로젝트에는 리더가 Go Ahead 라벨을 붙입니다. 이 라벨이 붙은 경우는 바로 진행하시면 됩니다.
  • ⚠️ 개인 계정에 프로젝트 저장소를 만듭니다
    • 프로젝트 저장소 주소를 이슈 문서에 추가합니다.
  • 프로젝트를 진행하면서 PR을 만들고 필요한 기능을 구현합니다.
  • 리뷰를 받을 준비가 되면 fe-library 저장소에 있는 본인 프로젝트 이슈에 Needs Review 라벨을 붙여 리더에게 리뷰를 요청합니다.
    • 해당 프로젝트의 오픈되어 있는 가장 최신 PR을 리뷰합니다. 혹시 다른 식으로 리뷰를 해야하면 말씀해주세요.
  • 리뷰가 끝나면 리더는 이슈의 Needs Review 라벨을 제거하고 Reviewed 라벨을 붙입니다.
  • 리뷰-피드백 과정이 끝나고 npm 퍼블리싱까지 완료하면 Published 라벨을 붙이며 라이브러리 작성을 종료합니다.

예시 프로젝트

  • 한국어도 잘 지원하는 타이핑 효과 React 컴포넌트 / Vue 컴포넌트: 한글을 조합하는 과정도 보여주어야 함
  • 데이터를 다운로드하는 라이브러리 / 링크 컴포넌트. 데이터와 파일 이름을 prop으로 전달. Blob URL, download 속성 사용
  • 주어진 크기, 색상, 글자로 플레이스 홀더 이미지를 생성하는 라이브러리. 혹은 컴포넌트. Canvas 사용
  • 7 segment display - 폰트로 하는 방법도 있지만 CSS, SVG, 캔버스로 그릴 수도 있으니까. 이 중에서는 SVG 추천
  • 카운트다운 컴포넌트 - 특정 시기까지 남은 시간을 카운트다운으로 알려줌. 7 segment display와 같이 쓰는 방안도 고려해 볼 수 있음
  • 이미지를 선택, 크롭, 리사이즈, 파일 크기에 따른 제한이 가능한 라이브러리 또는 컴포넌트
  • fetch를 조금 더 편하게 사용할 수 있는 래퍼: post, get 등으로 명시. get(url).json<T>(), post(url).json<T>() 등과 같이 타입을 지원하는 json 메서드.
  • 본문을 복사할 때 출처 텍스트를 추가하는 React / Vue 컴포넌트
  • CSS Highlight API를 사용한 텍스트 강조 API - span이나 mark 등의 추가 요소가 없어서 리렌더링을 유발하지 않는다(FF 지원은 안되지만 곧 될 예정)
  • typingchanger처럼 한글 -> 영어, 영어 -> 한글(2벌식 기준) 변환해주는 라이브러리

⚠️ 주의사항

  • 프로젝트는 리더와 상의하고 확정한 후에 진행합니다.
  • 기본적으로 개인 과제이나 2~3인이 팀을 이루는 것도 가능합니다. 대신 프로젝트의 범위는 조금 더 커질 수 있습니다.
  • 각 개인의 오픈소스 프로젝트라서 독립적으로 진행해야 하므로 이 저장소를 포크하지 않습니다.

프로젝트

이 자리에 작업하신 결과물을 링크합니다. 😃