1. 요구사항 정리와 라이브러리 선정하기

2022. 6. 12. 15:00·프로젝트 회고/이미지편집기 개발

1. 개발 시작

회사에서 진행하는 프로젝트에서 챗봇 메시지에 들어가는 이미지를 편집, 저장, 관리할 수 있는 기능을 만들게 되었다. 총 기한은 3주(스프린트 1개) 이고 React와 Javascript를 기반으로 개발을 진행했다.

2. 요구사항 정리

받은 요구사항은 다음과 같다.

1) 배경화면

배경화면에 이미지를 삽입, 크롭, 각종 속성(명암, 대조도) 등을 조정할 수 있어야 한다.

2) 이미지

여러 이미지들을 삽입하고, 각 이미지의 크기, 투명도, 명암, 회전, 크롭 을 수정할 수 있어야 한다. 

3) 텍스트

여러 텍스트들을 삽입하고, 각 텍스트의 크기, 글꼴, 글씨 크기, 색깔 등의 속성을 수정할 수 있어야 한다.

4) 공통

각 이미지, 텍스트들 간의 Z축 위치를 조정

뒤로가기, 앞으로 가기 기능

이미지 저장, 서버 저장, 불러오기

3. 라이브러리 선정

위 기능들을 구현하기 위해서 처음엔 Canvas API 사용을 고려했다. 그러나 Canvas API의 경우, 이미지,텍스트의 크기 조절 상자, 드래그 이벤트, 회전 상자를 일일이 구현해줘야 해서 시간 내에 구현하기 힘들 것이라 생각했다.

Transformer 라는 object를 통해 크기 조절, 회전을 구현하기 쉽게 해주고, 드래그 이벤트 들이 기본적으로 구현이 되어 있는 Konva.js라는 라이브러리를 발견했다.

Konva.js는 또한 홈페이지에 다양한 예제들 (크롭, 속성 변경) 등을 제공하여 개발에 쓰기 적합하다고 생각하여 이를 사용하여 개발에 들어갔다.

 

저작자표시 (새창열림)

'프로젝트 회고 > 이미지편집기 개발' 카테고리의 다른 글

6. 개발 - 뒤로가기(작업 취소), 앞으로 가기(복구) Z-index 조정 기능  (0) 2022.07.20
5. 개발 - 상태 관리 리팩토링 - useReducer  (0) 2022.07.18
4. 개발 - 편집기 주 화면 구현, 배경, 노드(이미지, 텍스트) 추가, 편집 기능  (0) 2022.06.30
3. 개발 - 기본 구조  (0) 2022.06.19
2. 액션 정의하기, 앱 구조와 화면 레이아웃 잡기  (0) 2022.06.15
'프로젝트 회고/이미지편집기 개발' 카테고리의 다른 글
  • 5. 개발 - 상태 관리 리팩토링 - useReducer
  • 4. 개발 - 편집기 주 화면 구현, 배경, 노드(이미지, 텍스트) 추가, 편집 기능
  • 3. 개발 - 기본 구조
  • 2. 액션 정의하기, 앱 구조와 화면 레이아웃 잡기
정현우12
정현우12
  • 정현우12
    정현우의 개발 블로그
    정현우12
  • 전체
    오늘
    어제
    • 분류 전체보기 (79)
      • 프론트엔드 (56)
        • JavaScript, TypeScript (12)
        • 스타일링 (1)
        • React (13)
        • Next.js (4)
        • 개발 환경 (9)
        • 테스트 (3)
        • 성능 최적화 (11)
        • 함수형 프로그래밍 (2)
        • 구조 (1)
      • 프로젝트 회고 (23)
        • 이미지편집기 개발 (7)
        • 엑셀 다운로드, 업로드 공통 모듈 개발 (4)
        • 사용자 매뉴얼 사이트 개발 (3)
        • 통계자동화 솔루션 개발 (1)
        • 엑셀 편집기 개발 (5)
        • API 플랫폼 (1)
        • 콜센터 솔루션 OB 캠페인 (1)
        • AI 스튜디오 (1)
      • 백엔드 (0)
  • 블로그 메뉴

    • 홈
    • 포트폴리오
    • 태그
  • 인기 글

  • 태그

    JavaScript
    사용자 매뉴얼 사이트
    엑셀 에디터
    Github Actions
    커스텀 훅
    frontend
    렌더링 성능 최적화
    Next.js
    로딩 성능 최적화
    React
    TypeScript
    웹 성능 최적화
    엑셀
    webpack
    회고
    memoization
    useReducer
    라이브러리 선정
    이미지 편집기
    React-boilerplate
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
정현우12
1. 요구사항 정리와 라이브러리 선정하기
상단으로

티스토리툴바