GithubHelp home page GithubHelp logo

local-i18n's Introduction

local-i18n's People

Contributors

jiwoo-choi avatar

Watchers

 avatar

local-i18n's Issues

우선순위 작업 목록.

우선순위 기능.

  • fetch 기능
  • schema 등록 기능 (외부 자료를 안정적으로 받기 위한 방법)
  • export 기능
  • save sync 기능
  • diff기능 (1) - 변경된 내용만 commit하도록 체크.
  • diff기능 (2) - 코드 내에 한글 포착하도록 체크.
  • react-window-scroll 기능
  • 태깅 기능. 그룹핑 기능.

디자인 정리

디자인 정리

  • action 버튼은 상단으로.
  • 설정류는 감춰서 처리.
  • Workspace를 선택하는 화면과 분리.

변경안.

  • 첫 접근 시, workspace 선택.
    • 워크스페이스 선택과 워크스페이스 작업을 아얘 분리
  • 상단에 전체 파일뷰 추가.
    • 워크스페이스 전반적인 관리는 파일뷰에 감춰서 제공.
  • 왼쪽 고정 worksapces는 삭제.
    • 작업 영역이 줄어드는 문제
  • action 버튼은 모두 상단에 고정.
    • (PCW기준이라 하단에 놓지 않음)

작업

  • 워크스페이스 선택존 추가.
  • 워스스페이스존 변경 + 파일 메뉴 뷰 추가.
  • Navigation 정리.
  • Context 정리.
  • 현재 Scene 추가.
  • `@data 없애기
  • 파일컨벤션 맞추기
    • layout
    • context
  • React router 추가하기.

[리팩토링] currWorkspaceId EntityId 타입 개선

현재는 currentWorkspace에 undefined가 들어올 수 있지만,
컨텍스트 하위에서는 항상 undefined가 들어올 수 없게 함

  • EntityId? -> EntitiyId로 변경
  • 런타임에서 EntityId가 없으면 접근하지 못하도록 가드.
  • 레이아웃 레벨에서는 useCurrWorkspaceId() 사용하지 않도록 함 (props를 통해서 데이터 통신)

[리팩토링] 폴더구조 변경

  • context provider는 현재 폴더보다 상위 폴더에서 감싸줘야 하기 때문에, 폴더 상-하위 구조가 있다면 상-하위 구조를 따르게 할 것
  • 별도 독립 모듈 성격의 훅들은 따로 빼줄 것.
  • @data 폴더에 provider를 넣어두기

Indexed DB or FileSystem 사용하는것으로 변경하기.

  • local storage는 한계가 많음.

  • 변경이 생길 때 마다, transaction 걸기.

  • 브라우저 기반이라면 Indexed DB

  • FS를 사용해야한다면 Electron이나 Server Action을 활용해야할 수 있음.

    • 아무래도 FileSystem이 안전하나, 구현에 까다로움이 있을 수 있어 Indexed DB를 쉽게 export할 수 있는것을 우선적으로 고려.

스키마 기능 추가.

각 영역별로 지원하는 스키마 정리

  • excel (export, import)
  • json (export, import)

그 규격대로 export, import 할 수 있도록 지원.

parse custom scheme rule set 만들기.

  • 외부 데이터를 파싱할 때 (엑셀이나 json) 커스텀 scheme을 만들 수 있는 UI
  • 외부 데이터를 파싱할 때 (엑셀이나 json) 커스텀 scheme을 만들어서 적용할 수 있는 hooks.

[개선] 테스트 코드 추가

  • import json, export file하는 부분들은 코어 로직은 아니지만, 코드 변경시마다 깨지는 케이스가 존재.
  • 자동화된 테스트를 구성하여서 외부 로직들로 가는 부분들에 시나리오적 추가 제약을 걸어 둠.
  • PR시 자동화 테스트 수행하도록 설정.
  • 현재 코어 도메인 부분에 대한 테스트는 필요 하지 않음
    • 문제가 있어도 런타임에서 문제가 빠르게 발견되는 편.
    • 문제가 생겨도 격리가 잘 되는 편.
    • 빌드타임에서 타입이나 다른 제약조건에 의해 미리 걸러지는 편. (핵심 도메인로직)

폴더 구조 변경

현재 폴더의 구조는 작업하기 불편한 방식.

  1. 기본 도메인 분류 변경
  2. 도메인 별로 slice, provider 폴더 구분.
  3. depth 줄이기.
  4. context 활용하는 경우, access control까지 다 해두기.

[기능추가] text replace 기능.

  • 번역어 내에서 text를 검출하여 replace함.
  • 여러개가 검출 될 경우, 어떤 row만 변경할건지 추가하기. (data-table사용 및 selector 사용 예시 찾아보기)

공유 페이지 확인하기

  • 공유 URL을 받을 경우, 서비스를 이용하지 않더라도 내용을 다운받을 수 있도록 함.
  • 용량 제한 확인하고 압축률 최대로 높일 것.

key별 프로젝트 영역 만들기.

한 워크스페이스 내부에서도 프로젝트 별로 export하거나 따로 관리하고 싶은 니즈가 생길 수 있음.
project별로 depth를 추가할 수 있는 기능 만들기. (해시태그 필터링)

필터링 알고리즘 추가하기.

  • 워크스페이스1

    • 피처 1
    • 피처 2
    • 피처 3
  • 피처별로 선택하거나, 피처별로 필터링 해서 볼 수 있는 뷰 보기.

  • 드래그앤 드롭이 아닌 -=> 현재 필터된 번역어 Export하기로 처리하도록 함.

  • feature여역 만들기..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.