• 다물어 클럽은 제게 새로운 도전이었습니다. 안드로이드 앱과 유니티 게임 개발만 하다가 웹 서비스 운영을 해야 했기 때문에 많은 공부가 필요했습니다.
SpringBoot, Angular, CI/CD 구성을 위해 Gitlab CI, AWS, Docker 등 짧은 기간 동안 많은 것들을 배울 수 있었습니다.
먼저 출시 한 웹 버전을 서비스 하면서 모바일 버전을 만들어야 했기 때문에 하이브리드 형태로 개발을 해야했고 ReactNative 보다 성능상 이점이 있다고 알려진 Flutter 를 선택했습니다.
Dart 라는 언어도 새롭게 공부했는데 다행히 C# 이나 Java 와 비슷한 점이 많아 수월했습니다.
Flutter 2.x 인 시절이라 비디오 플레이어에 DRM 을 적용하는 방법이 없어서 Html5 + Video.js 를 이용해 WebView 에서 동작하는 플레이어를 만들기로 했는데 자료가 너무 없었고 DRM 설정을 WebView에서 지원하지 않는 등 어려움이 많았습니다. 그렇지만 끈기를 가지고 Flutter 에서 사용할 수 있는 WebView 라이브러리를 하나씩 검토해가며 결국에는 동작하게 만들었습니다. 힘들었지만 그만큼 보람이 있던 작업이었습니다.
• 다물어클럽 Web 서비스 개발 및 운영
인문OTT 서비스 개발 및 운영
FE: angular
BE: SpringBoot
- 2020.10 - 2021.09- 외주를 통해 개발 된 프로젝트를 넘겨 받아 리팩토링을 진행해 서비스를 시작했습니다.
- SpringBoot 로 개발되었고 AWS EC2 환경에서 서비스 했습니다.
- 영상 소스 인코딩 파이프 라인 구성
: 영상 업로드 -> Lambda 에서 AWS Media Convert 명령어 실행 -> 인코딩 -> 결과 DB에 저장
- FCM 을 이용한 모바일 Push 기능 개발 : 일반 전송, 예약 전송
• 다물어클럽 모바일 개발
- Flutter 를 이용한 모바일 앱 개발 및 서비스 전 기능 개발 (API 는 웹 서비스용 사용)
- Video player 구현
: Pallycon DRM 을 적용하기 위해 Flutter Video Player 가 아닌 HTML5 + Video.js 를 사용하여 WebView 에서 Custom 플레이어를 새롭게 만들었습니다.
(현재는 DRM 적용이 가능한 플레이어가 나왔지만 당시에는 없었습니다.)
- 트래픽 절약을 위해 무료 영상은 Youtube 에 올리고 Youtube 플레이어를 내장해 서비스 했습니다.
- 음성 컨텐츠 재생을 위한 Audio player 구현
- Firebase DynamicLink를 이용한 Deep link 구현
- 소셜 로그인 구현 (Kakao, Google, Facebook, Apple)
- 기본 적인 기능 개발은
- iOS 와 AOS 동시 배포
• H사 고객용 대시보드 개발
- B2B 고객사용 Dashboard 개발 (Flutter Web)
- 배포 자동화 환경 구축 : Gitlab CI 를 이용해 빌드 후 AWS CLI 로 EC2 에 배포
• 서울대 음성우울증진단 앱 (Flutter)
Flutter 를 이용해 음성 우울증 진단 앱 개발
- 음성을 녹음 하여 python 서버로 전송 -> 지정된 알고리즘에 따라 우울증 단계 분석 후 결과 값을 앱에 표시
• Tappik 서비스 개발 (Flutter)
숏폼 미디어 컨텐츠 플랫폼 개발 중 폐업으로 인해 퇴사
참고 : https://github.com/TedHong/tappik.git
더보기