반응형
기능정의
- vcat.ai 홈페이지에서 광고 영상이나 이미지를 제작하여 얻은 결과물을 FaceBook, Instagram 등의 소셜 플랫폼 채널에 연동하고 게시할 수 있는 기능입니다.
- Vcat.ai 서비스 내에서의 소셜 미디어 스케줄러 동작 정의
- 사용자는 위에서 언급된 두 개의 플랫폼의 채널과 연동하여 예약게시가 가능한 채널을 생성할 수 있습니다.
- 사용자는 생성한 광고 영상을 즉시 / 예약 게시를 생성해서 확인할 수 있습니다.
- 예약 게시물의 일정이나 컨텐츠 등을 특정 조건 하에서 자유롭게 변경할 수 있습니다.
- 사용자는 SNS플랫폼에 게시한 동영상에 대한 Insight정보(좋아요 수 , 댓글 수 , 평균 조회시간 등)를 확인해서 자신의 게시물이 얼마나 홍보에 효과적인지 정량적으로 파악할 수 있습니다.
- 현재 동영상 업로드만 지원하지만 추후 이미지 업로드 기능으로 확장할 예정입니다.
Action Flow
- 소셜 공유화면 진입
- 원하는 날짜에 게시물 추가 액션
- 영상 선택 + 예약게시일 및 메시지 입력 후 요청
- 예약게시 시간에 따라 스케줄 등록 및 결과 처리
1. 소셜 공유 화면 진입
- 사용자는 해당 화면에서 캘린더의 각 날짜칸에 Mouse Hover 되는 경우
나타나는 버튼으로 예약 포스트 등록 Flow를 시작할 수 있습니다.
2. 원하는 날짜에 게시물 추가 액션
1 에서의 화면에서 원하는 날짜 칸에서 새로운 게시물 공유하기 버튼으로 flow 시작 (제작 광고영상 모달 list up)
서비스 사용자가 만든 광고 영상들이 차례로 나오게 되며 영상을 선택해서 이후 예약 일정이나, 메시지 등을 입력할 수 있는 두 번째 Modal로 이어받게 됩니다.
사용자는 선택한 영상을 기준으로 메시지나 게시 일정을 선택할 수 있고, 게시될 채널을 연동 채널 중에서 선택해 게시할 수 있습니다.
3. 영상 선택 + 예약게시일 및 메시지 입력 후 요청
3단계까지의 과정으로 생성한 예약 포스팅의 결과나 진행상황은 1단계에서의 소셜 미디어 공유 캘린더 화면에서 확인하고 관리할 수 있습니다.
Flow Video
아래는 서비스의 간단한 시연영상입니다!
무엇을 잘했고, 무엇이 아쉬웠다 생각하나?
잘한 점.
- 먼저 전혀 배워보지 않은 Kafka를 서버 간 이벤트 기반 통신으로 적용하면서 급하게 학습하고 적용해야 했었는데, 개발자 초기보다는 훨씬 빠른 속도로 습득하고 관련된 코드까지 짤 수 있었다.
특히나 예약 포스팅을 수행하기 위한 Kafka Listener 클래스를 공식문서 레퍼런스를 보고 구현해 보는건 좋은 경험이었다고 생각한다.
학부생 시절에는 구글링을 통해 돌아가는 코드를 가져다(?) 쓰는 좋지못한 버릇이 있었는데, 지금은 내가 구현하려는 비즈니스의 컨텍스트를 이해하고 코드가 어떻게 동작하는지를 먼저 이해한 뒤에 코드를 작성하는 단계로 넘어가기 때문에 이런 개선으로 이어질 수 있지 않았나 생각이 든다.
무엇보다 내가 짠 코드가 실제 고객을 상대로 동작한다는걸 생각하니 너무 짜릿하다..!
운영 환경의 데이터베이스에 실제 고객 유저들의 데이터가 쌓이는걸 보니 너무 신기하고 좋았다.
(구현하는 동안의 힘듦과 시행착오들이 사르르 녹아드는 기분이었다 😭)
아쉬웠던 점.
- 1차 구현이 끝나고 내부 QA를 진행하면서 자잘한 버그들이나, 혹시나 기획 의도대로 구현되지 않은게 있었는지 확인하는 과정을 거쳤는데 생각보다 QA가 많이 나와서 살짝 아쉬운 부분들이 있었다.
그에대한 원인을 찾아보니 기획서를 꼼꼼하게 확인하지 않았거나 정상적인 사용 예시를 전제로 개발을 하여 예외적인 부분을 잘 처리하지 못한 부분에서 문제가 나왔었다.
그리고 이번 프로젝트를 통해서 위에서의 Kafka와 같이 허겁지겁 배워 사용한 요소들이 꽤 많았다.
실제 소셜 플랫폼들과 통신하는 서버가 Kotlin + Reactive 방식으로 요청을 처리하는 서버인데, 해당 서버의 로직을 파악하는데
꽤나 많은 어려움이 있었다.(코틀린까지는 어떻게 꾸역꾸역 이해하겠는데,,, Reactive가 너무 어렵다..😭)
프로젝트의 개선이 있기 전까지 미리미리 공부하고 앞으로 수정사항이 생기면 어디를 어떻게 바꾸어야하는지 별도 브랜치를 따서 바꿔도 보고 연습을 해야겠다 생각한다.
이외에도 브라우저 레벨에서 JS를 통해 열려있는 모든 탭에다 이벤트를 뿌릴 수 있는 BroadCast Channel 이란 것도 처음 알게 되었다
정리
- 처음 서비스 개발기는 여덟 글자로 정의하면 "좌충우돌", "우당탕탕" 이 아닐까 생각이 든다 이리저리 부딪히고 어려움도 많았던것 같다.
하지만 사용자들이 서비스를 사용해서 만들어놓은 결과를 보면 또 뿌듯하다.
그리고 개발팀과 서비스에 좀더 많은 기여를 하고싶은 욕심이 많아진다.
아직은 주니어 레벨이지만, 여기서 내가 할수 있는 최선의 고민은 물론 서비스를 대폭 개선하겠다! 라는 것도 좋지만
어떻게 하면 시니어 분들의 시간을 줄일 수 있을지. 어떻게하면 더 적은 시간에 더 많은 문제들을 해결할 수 있을지에 대해 깊은 고민을 하는게 현재 레벨에서의 현실적인 고민이 아닐까 생각이 든다
반응형
'생각정리' 카테고리의 다른 글
[생각정리] 생애 첫 퇴사 건에 대해서 (신입개발자 편) (0) | 2024.06.17 |
---|---|
[생각정리] 최대한 빠른 실패 (0) | 2023.02.06 |
[생각정리] 내 코드 지키기 (0) | 2023.01.25 |
[생각정리] 버그찾아 삼만리 (0) | 2022.10.12 |
[생각정리] 실리콘밸리 인턴십 수료 1년 후 회고. (0) | 2022.03.13 |