그림판(Paint App)을 구현하여, 기본적인 프론트엔드 역량과 문제 해결 방식을 평가하기 위한 목적입니다.
요구사항을 충실히 구현하고, 자유롭게 확장하거나 개선해 주세요.
아래 항목은 필수로 구현해야 하는 기능입니다:
-
프로젝트 기술스택
- 프로젝트는 React, TypeScript를 기반으로 작성되어야 합니다.
- 스타일은 Styled-Components를 기반으로 작성되어야 합니다.
-
자유 그리기 기능
- 사용자가 마우스를 드래그하여 자유롭게 선을 그릴 수 있어야 합니다.
- 선의 색상과 굵기를 선택할 수 있어야 합니다.
-
기본 도형 그리기 도구
- 사각형, 원을 선택해 그릴 수 있어야 합니다.
- 도형의 채우기 색상을 선택하고 도형에 적용할 수 있어야 합니다.
-
되돌리기 / 다시 실행 (Undo / Redo)
- 작업의 취소/재실행이 가능해야 합니다.
아래 기능들은 필수는 아니지만, 구현 시 가산점을 받을 수 있습니다:
-
저장 및 복원 기능
- 새로고침해도 작업 내용이 유지되도록 구현한 경우
-
툴바 인터페이스 조작
- 툴바를 드래그해서 이동하거나, 사용자에 따라 배치 변경 가능하도록 구현한 경우
-
라이브러리화
- 라이브러리 사용자가 쉽게 사용할 수 있도록 구조 설계한 경우