Discover us

About us

Projects

Blog

Events

Members

Project Blog

GDGoC CAU 개발자와 디자이너의 작업 과정과
결과물을 공유하는 공간입니다.

어떻게 프로젝트를 시작하게 되었고,
진행하면서 느낀 개발자와 디자이너의
생생한 스토리를 직접 확인해보세요!

Project

Thanks Clip

  • 고은서, 박일상, 장준성, 조하연
  • 2025. 1. 19.
Thanks Clip

Thanks Clip

프로젝트 소개 💌

notion image
2022-2023 gdsc frontend 팀의 마지막 활동으로 진행했던 ThanksClip 프로젝트를 소개합니다.
ThanksClip은 모바일웹 애플리케이션으로, 감사한 사람들에게 편지를 영상으로 만들어 공유하는 서비스입니다.
감사한 분께 짧은 감사 메시지를 작성하고 그분께 어울리는 키워드를 선택합니다.
취향대로 편지지를 꾸밀 수도 있고 폰트도 선택할 수 있습니다.
모든 것이 준비되었다면 감사한 마음을 저희가 직접 제작한 영상에 녹여내어 보내드립니다.
영상은 카카오톡을 통해 공유할 수도 있고 다운로드하여 오랫동안 소장할 수도 있습니다.
_
돌아보면 주변에 참 고마운 분들이 많은 것 같습니다.
이번 기회에 주위의 감사한 사람들에게 하나뿐인 클립 영상으로 마음을 전달해 보는 건 어떨까요? 💐
 
Thanks Clip Github 링크
  • 작업기간 - 2023/1/2 ~ 2023/1/21
  • 참여인원 - 파트(flutter, backend, frontend, ai/ml)
    • 고은서
      frontend
      박일상
      frontend
      장준성
      frontend
      조하연
      frontend

구현 기능 소개

화면 플로우대로 구현 기능들을 소개하겠습니다.
 
편지 작성 기능
notion image
 
notion image
 
보내는 사람, 받는 사람의 이름을 입력한 후 다음 버튼을 클릭합니다.
편지 입력 폼을 통해 감사 편지를 짧게 작성합니다.
 
 
편지 키워드 선택 기능
notion image
받는 사람에게 어울리는 감사 키워드를 선택합니다.
키워드는 2~5개 범위 내에서 선택해야만 아래 버튼이 활성화 됩니다.
 
 
편지지 꾸미기 기능
notion image
notion image
notion image
notion image
편지지를 꾸밀 수 있는 편집기가 등장합니다.
편집 옵션은 편지지 선택, 편지지 색 선택, 폰트 선택, 스티커 추가 총 4가지가 있습니다.
  • 편지지 선택 - 편지 테두리를 취향에 맞게 선택할 수 있습니다.
  • 편지지 색 선택 - 파스텔 톤의 다섯 가지 색상 중에 하나를 편지지 색상으로 고를 수 있습니다.
  • 폰트 선택 - 세 가지 폰트 종류 중 하나를 골라 글씨체를 변형할 수 있습니다.
  • 스티커 추가 - 직접 디자인한 하트 모양, 별 모양, 원 모양의 스티커를 추가하여 편지지를 꾸밀 수 있습니다. 스티커는 여러 개를 부착시킬 수 있고 위치를 자유자재로 이동시킬 수 있습니다. 오른쪽 하단의 체크 버튼을 클릭하면 스티커를 고정시킬 수 있고 x 버튼을 눌러 삭제할 수도 있습니다.
 
 
영상 제작 기능
notion image
notion image
영상 변환 전에 모달을 띄워 편지를 검토 및 수정할 수 있으며 최종적으로 확인되면 영상을 만들기 시작합니다.
영상 server 에서는 aws lambda 에서 영상을 제작합니다. 영상은 react로 비디오을 제작해주는 라이브러리인 remotion을 활용했습니다. 영상 제작이 완료되면 s3 에 업로드 됩니다.
영상 client 에서는 server가 영상을 제작하는 동안 우측과 같이 로딩화면이 표시됩니다.
 
영상 확인 및 카카오톡 공유하기 기능
notion image
notion image
 
영상 제작이 완료되면 client 에서도 영상을 확인할 수 있습니다. 플레이어 기능을 통해 바로 재생이 가능합니다. 참고로 영상 플로우는 감사 키워드 → 받는 사람 이름 → 편지 내용 순서로 다양한 애니메이션이 적용되어 보입니다.
또한 ‘카카오톡으로 Clip 보내기’ 버튼을 통해 영상을 보낼 수 있습니다. 받는 사람은 우측 사진과 같이 카카오톡 메시지를 받게 됩니다.
 
(받는 사람) 영상 확인 및 다운로드 기능
notion image
카카오톡 메시지의 ‘편지 영상 확인하기’ 버튼을 클릭하면 동적라우팅 되어 영상 다운로드 페이지로 연결됩니다.
렌더링이 완료되면 다운로드 버튼을 통해 영상을 다운로드 할 수 있습니다.
또한 ‘저도 만들어볼래요’ 버튼을 통해 받는 사람도 편지를 만들 수 있습니다.
 
영상 결과는 아래와 같습니다 😀

Tech Stack, Architecture 설명

Tech Stack
역할
종류
(ssr) framework
Next.js
UI library
React
Styling
Tailwind
State management
Jotai
Programming Langauge
Javascript
Data fetching
x (serverless)
Formatting
eslint, prettier, husky, lint-staged
Package manager
pnpm
Version control
Git, github
  • 기술 스택 선정 기준 및 히스토리
    • Next.js
      • 처음에는 vite.js+react 조합이었지만 서버 사이드 렌더링이 필요해진 시점 이후에는 Next.js+react 로 마이그레이션 하였습니다.
    • Tailwind
      • 주어진 기간 내에 인라인 스타일을 사용하는 것만큼 쉽고 빠르게 스타일링을 할 수 있으면서도 디자인 시스템만큼이나 일관된 디자인을 가능하게 해주는 tailwind가 가장 적합한 css 프레임워크일 것이라 판단했습니다. 또한 해당 기술을 이미 경험해보고 리딩해 줄 팀원이 존재했기에 팀원 모두가 빠르게 해당 프레임워크에 적응할 수 있었습니다.
    • Jotai
      • 상태 관리 라이브러리 사용 경험이 없는 팀원들을 고려했을 때 러닝 커브가 높지 않았고, 크지 않은 큐모의 서비스에 적합한 기술이라 생각되어 jotai를 상태 관리 라이브러리로 채택했습니다.
    • Pnpm
      • 패키지 매니저로는 pnpm을 선택하였습니다. pnpm은 node_modules를 직접 설치하는 대신, 전역 저장소에서 패키지를 공유하는 구조를 사용하기 때문에 빠르고 효율적으로 디스크를 관리할 수 있다는 장점이 있습니다.
 
Architecture
notion image
 
notion image
 
notion image