슬라이드쇼 서비스 on redgoose note

슬라이드쇼 서비스

Nest: Concept Category: Service 2021-06-24

기껏 슬라이드쇼 프로그램을 만들었는데 이제는 활용을 해야지..

이미지 슬라이드쇼 프로젝트는 그저 툴일 뿐이라서 실질적으로 사용하기 어려운감이 있다.
스토리지를 지원한다고 해도 다른 사람에게 공유할 수 없고, 사용하고 있는 브라우저에서만 쓸 수 있기 때문이다.

그래서 다른 사람들과 공유할 수 있는 수준으로 사용하려면 서비스 수준으로 만들어야 할것이다. 개인적으로 지속적으로 사용 가능하게 만들어서 나의 사진들을 따로 콜렉션화 하여 디스플레잉 하고 싶은데 툴만으로는 좀 어렵다.

일단 생각나는 것들을 끄적여 보자면..

  • 환경설정 잠금 및 커스터마이즈
  • 슬라이드 아이템 편집
  • 색 편집 (다크모드 고려해 봐야함)
  • 랜덤키를 생성하여 공유가 가능한 주소 만들기
  • 회원가입이나 로그인 없음
  • 슬라이드 공개 (만든 슬라이드를 공유할지에 대하여 선택한다.)

파일 업로드

이미지를 직접 올리게 해줄 수 있으면 정말로 좋지만 뭔가 약관이나 대처없이 업로드가 가능하게 하면 개인적으로 서버 인프라를 감당할 수 있는 능력이 없다.
서비스 사업으로 만들고 있는게 아니라 개인적으로 사용할 목적이기 때문에 일을 크게 벌릴 수 없다는 것이다. 그리고 어떤 이미지가 업로드 될지도 모르는 상태라서 대단히 조심스러운 부분이라고 생각한다. (야한 이미지 같은게 올라올게 뻔하기 때문에..)

그런다고 이미지를 서버에 올릴 수 없으면 슬라이드에 사용할 사진을 사용할 수 있는 방법자체가 없어진다.
그래서 무료로 이미지를 업로드하고 공유할 수 있는 서비스같은곳을 찾아서 이용할 수 있는 방법을 제공해줘야 할법하다.

슬라이드쇼 환경설정

환경설정은 보는 사람이 직접 설정할 수 있도록 열어두고 있는 편이다.

하지만 슬라이드쇼를 만드는 사람 의도로 환경설정을 고정시킬 수 있어야 한다. (다크테마를 꺼버린다거나 자동재생만 되게 한다거나..)
그럴때 환경설정을 직접 편집할 수 있도록 해야하는데 편집모드 화면이 필요해진다.
서비스에서 슬라이드 데이터나 환경설정 편집모드를 만들게 된다면 슬라이드쇼 툴과 UI가 두가지로 갈리게 되는데 기능이 추가되거나 변경된다면 두가지 버전에다 적용해야하는 번거로움이 생긴다.

그래서 슬라이드쇼 환경설정은 슬라이드쇼 툴에 맡기는게 어떨까 생각한다.
서비스에서 편집모드를 따로 만들고 편집모드로 슬라이스쇼에 진입하면 환경설정을 적용할때마다 데이터베이스에 저장한다.
편집모드로 진입하거나 저장할때 반드시 인증을 해야 할것이다.

그래서 툴에서 준비해 줘야하는게 있다.

  • 메뉴 구조의 변경이 필요하다. 기본적으로 제공되는 메뉴 왼쪽이나 오른쪽, 사이에 추가되는 커스텀 메뉴가 들어간다. 그래서 기본적으로 제공되는 메뉴는 type: 'menu'같은 형식으로 매직 키워드를 만들어두고 배열로 받는게 어떨까.. 참고) https://www.electronjs.org/docs/api/menu#examples 일렉트론은 role이라는 키값으로 시스템의 기능을 압축시켜서 사용한다.
  • 환경설정 저장하거나 복구할때의 후크가 필요하다. 기본적으로 로컬스토리지에 저장하는걸로 알고있는데 좀 확인해봐야할거 같다. 환경설정이 변경할때 tree값도 변경될때 어떻게 되는지 확인해봐야 할 필요도 있다.
  • storage 키값을 props에 추가
    로컬 스토리지를 기본적으로 사용하고 있다면 스토리지를 각자 다르게 담아서 사용할 수 있을것이다. (하지만 좋은 방법은 아닌거 같아 보인다.)

현재 슬라이드 툴 환경설정 저장 방식이 외부 컴포넌트에서 props.preferenceprops.tree로 사용되고 있다면 로컬스토리지에 저장하지 않고, @update-preference이벤트로 호출된다. 내가 미리 대비를 해놨구나.. ^ ~^

ps. 추후에 생각나는 것들이나 이슈들의 내용을 추가할 예정이다.