최근에 사이드 프로젝트로 다인원 일정 조율 서비스 OneTime
을 아주 즐겁게 만들고 운영하고 있다.
벌써 팀에 백엔드 파트로 합류해서 개발을 진행한 지 3달이 넘어가고 있는데,
이 과정에서 배운 점 & 느낀 점들이 굉장히 많기에 글로 정리해보려고 한다.
애자일 방식으로 진행 중이라 현재 (2024.11.18) 기준으로 4차 스프린트까지 종료가 되었는데,
앞으로 시리즈로 묶어 각 스프린트 마다 백엔드 관점에서 개발한 부분 & 배운 점
등을 정리해보려고 한다!
이번 글은 첫 글이기에 전반적인 서비스 소개와 팀 소개, 그리고 앞으로의 방향성을 적으며 마무리 해보려고 한다 😁
원타임은 다인원 일정 조율 웹 서비스
로,
링크 공유를 통해서 사람들과 쉽고 빠르게 일정을 맞출 수가 있다.
앱이 아닌 웹 기반이기에,
사용자가 앱 다운로드나 로그인을 할 필요가 없어 높은 접근성
을 자랑한다!
아래의 링크에서 언제든지 이용할 수 있다❗️
⏰ OneTime 서비스 바로가기
🧑🏻💻 GitHub
📸 Instagram
지금부터는 기능에 대해서 하나하나 자세히 소개해보려고 한다!
우선 기본적으로 이벤트를 생성하며 서비스를 시작한다.
이벤트 제목을 지정하고 (정기 회의, 미팅, 친구들 만남 등..)
타임블록으로 체크하여 맞출 시간의 범위를 지정한다.
시간은 00시부터 24시까지 자유롭게 지정이 가능하다.
그리고 날짜 or 요일을 선택하게 된다.
날짜는 요일에 비해 조금 더 일회성이 강한 느낌으로,
예를 들어 11월 4주차 모각작 시간 정하기 등으로 활용할 수 있다!
반면 요일은 정기적으로 돌아오는 고정 일정을 정할 때 유용해서,
정기 회의 시간이나 스터디 시간 등을 정할 때 활용하면 좋다 👍🏻
생성한 후에는 위와 같이 이벤트가 생성되며,
아래 스케줄 등록
버튼을 클릭하여 타임블록에 본인의 가능 시간을 체크할 수 있다!
로그인을 하지 않았다면, 식별할 수 있는 이름과 4자리 비밀번호를 지정해서 작성해주어야 한다.
만약 추후 본인이 등록한 스케줄을 수정하고 싶다면, 이때 작성했던 이름과 비밀번호를 입력한 후 진행할 수 있다!
이후 되는 시간
을 체크하여 본인의 스케줄을 등록해 준다.
만약 안되는 시간
이 더 적어서 체크하고 싶다면,
위의 버튼을 클릭해서 간편하게 변경할 수가 있다!
이제 일정을 맞추기 위해 다른 사람들에게도 스케줄 등록을 요청할 차례이다.
물론 스케줄 등록을 꼭 하지 않았더라도 공유는 먼저 할 수 있다!
좌측 상단에 있는 공유
버튼을 클릭하면 위와 같은 모달창이 뜨고,
링크를 복사해서 직접 붙여넣어 공유할 수 있다.
기존의 링크는 너무 길기에, 아래와 같이 자체적으로 링크 단축
을 시켜준다.
기존 링크
: https://www.onetime-with-members.com/events/9afb7eed-cc54-4b62-8fcf-3f841de522dd
단축된 링크
: https://1-ti.me/4iRkdhpqq8RlSpiqjBzlzp
또한 카카오톡으로도 공유가 가능한데,
이런식으로 조금 더 명확하고 예쁘게 공유를 할 수 있다 😄
함께 하는 인원들이 모두 각자의 스케줄을 등록해주었다면, 이제는 맞는 시간대
를 확인해볼 차례이다.
각자 등록한 스케줄은 타임블록으로 표현되어, 가능한 인원이 많을수록 진한 파랑색으로 나타난다!
각 블록은 30분 단위로 나뉘어져있으며, 클릭하게 되면 가능한 인원의 이름과 불가능한 인원의 이름들까지 확인해 볼 수가 있다.
만약 모두 가능하다면 녹색으로 표현되어 한 눈에 확인이 가능하며,
이는 하단에서 모두가 되는 시간
을 클릭하여 더욱 더 편리하고 자세히 확인해볼 수가 있다!
또한 우측에는 참여자 목록이 나와있어 누가 일정을 등록했는지 확인할 수 있다.
여기까지는 비로그인 유저들도 자유롭게 이용 가능한 기능들이었다.
핵심적인 기능들이기에 로그인을 하지 않고도 서비스를 이용하는 데는 큰 문제가 없지만, 로그인을 한 후에 얻게 되는 이점들이 있기에 한 번 적어보려고 한다.
우선 로그인은 소셜 로그인으로 최대한 간편하게 이용할 수 있도록 하였다.
현재는 네이버 & 카카오 & 구글
로그인을 지원하고 있다.
로그인 후 우측 상단의 프로필을 클릭하면 위와 같은 메뉴가 나온다.
링크로 카톡방이나 타 SNS로 공유하기에 간편하기는 하지만,
나중에 다시 확인하고자할 때 찾아보아야 하는 번거로움이 있다.
때문에 본인이 생성했거나 스케줄을 등록한 이벤트라면 이를 참여한 이벤트
페이지에서 확인할 수가 있다!
다음은 내 스케줄 등록으로, 나의 고정적인 스케줄을 미리 등록해 둘 수 있는 기능이다.
이런식으로 기존 처럼 타임블록을 드래그하여 지정할 수 있으며,
클릭 후 자유롭게 수정 및 삭제가 가능하다!
이렇게 등록을 해 두게 되면..
스케줄 등록을 할 때 해당 고정 스케줄이 자동으로 불러와져서 안 되는 시간
으로 표시된다!
사실상 아직까지는 마이페이지에 큰 기능은 없다.
프로필 수정을 통해서 이름을 수정할 수가 있고,
로그아웃 및 서비스 탈퇴가 가능하다.
이렇게 시작부터 서비스를 쭉 이용해 보며 어떠한 기능들이 있는지 알아보았다.
하지만 아직도 그래서 이 서비스가 뭐가 좋다는거지?
라는 생각이 들 수 있기에,
내가 생각하는 OneTime
에서 가지고 있는 유사 서비스와의 차별성을 적어보려고 한다.
아마 대학생이나 팀플이 많은 사람이라면 한 번 쯤은 웬투밋 이라는 서비스를 사용해 보았을 것이다.
나도 이전에는 꽤나 자주 사용을 했었고, 우리 팀원들도 모두 사용을 했었다.
굳이 가입을 하거나 다운로드를 할 필요 없이, 간단하게 링크에 들어가 체크를 하면 되니 그 당시에는 굉장히 획기적인 서비스였다고 생각을 한다.
하지만 사용해 본 모든 사람들이 느낀 불편함이 있었을 텐데, 바로 UI가 친절하지 않다는 점이었다.
위와 같은 UI를 가지고 있고, 이는 몇 년 전에 사용했을 때와 변함이 없다.
이런 부분들은 비롯한 웬투밋의 여러 불편한 점을 개선하고자 OneTime
서비스가 탄생하였다.
때문에 친절하면서도 직관적인 UI를 나타내기 위해서 우리 팀의 디자이너 2명이 많이 노력하고 있다!
위와 이어지는 내용으로 웬투밋의 치명적인 단점은 하나가 더 있었는데,
바로 반응형이 되지 않는다는 것이었다.
모바일에서는 화면이 이렇게 떠서 체크하기가 굉장히 불편하다.
가로로 돌린다고 해도 불편함은 그대로이고, 심지어 터치가 잘 되지 않아 일정을 세세하게 체크하기도 어려웠다.
PC보다는 모바일에서 이러한 일정 조율을 자주 진행하기에, 이 부분은 꼭 개선해야 하는 부분이라고 생각을 했다.
위의 기능 소개 부분에서는 일부러 PC 기준으로만 보여주었는데, 반응형이 잘 된다는 것을 보여주기 위함이었다.
이런식으로 화면이 반응형으로 잘 변화됨을 확인할 수가 있다❗️
이렇게 편리성을 중요시 하는 서비스들에는 대부분 로그인 기능까지는 잘 없다.
하지만 우리 팀은 비로그인에서 편리하게 이용할 수 있는 서비스는 당연한 것이고,
로그인 시에는 이보다 더 편리하게 이용할 수 있도록 하고자 한다.
때문에 지금도 계속해서 어떻게 하면 유저가 만족하면서 이용할 수 있을지
를 고민하며 기능 개선을 하거나 새로운 기능을 개발 중에 있다.
앞으로도 더욱 많은 기능이 추가될 예정이기에, 몇 초만 투자해서 로그인 유저로 이용해 보는 것도 좋을 것 같다 😁👍🏻
찾아보면 이와 유사한 서비스는 꽤나 많다.
하지만 대부분 이전에 만든 후 방치해두었거나, 업데이트를 한다고 해도 몇 달에 한 번 정도 이루어질 뿐이다.
반면 우리 팀은 현재 OneTime
서비스를 사람들에게 공유할 기회인 전시회를 2번 앞두고 있고,
곧 방학도 되기에 더욱 열심히 개선하며 우리 서비스만의 차별성을 강화할 예정이다❗️
유저에게 가치를 제공하는 것을 최우선으로 생각하기 때문에 피드백을 적극적으로 수용하려고 한다.
혹 이 글을 읽고 서비스를 사용해 보았다면, 아낌 없는 피드백을 남겨주어도 좋을 것 같다 😄
지금부터는 서비스에 대한 자랑(?)이 이어질 예정이다 😅
1차 배포는 2024년 8월 24일에 진행되었고,
약 3달이 지난 지금 시점에서 고유 사용자가 1,500명을 돌파하게 되었다!
엄청나게 높은 수치는 아닐 수도 있지만,
대학생들이 모여 만든 서비스에 이정도의 사용자가 모였다는 점 자체가 신기한 것 같다 😁
또한 활동하고 있는 한국대학생IT경영학회(KUSITMS) 내부와 개인 인스타그램으로만 홍보를 진행했는데도, 한 번 사용한 유저가 꾸준히 재방문을 해준다는 점에서 긍정적이라고 생각한다❗️
이제는 어느정도 생각했던 기능 개발들은 마무리가 되어서, 본격적으로 홍보를 진행하려고 한다.
과연 얼마만큼의 유저를 유치할 수 있을지 기대가 된다..!!
(백엔드 입장에서는 많이 받아보고 싶다 🤣)
그리고 오늘 구글에 영어로 OneTime
을 검색해 본 결과, 최상단에 위치한 것을 확인했다!! 굉장히 신기한 경험이다...
아직 SEO 적용을 제대로 하지 못 해서 한글이나 다른 키워드로는 잘 안나오지만 🥲
그래도 뿌듯하다 👍🏻👍🏻👍🏻
지금부터는 OneTime
서비스를 만들고 있는 우만당만
팀에 대해 소개해보려고 한다!
우만당만은 우리 지금 만나 당장 만나
의 줄임말로, 편리하게 만나는 시간을 정하는 서비스의 취지를 담고자 하였다.
현재 팀원은 총 4명으로,
PM 및 프론트엔드 개발자 1명, 디자이너 2명, 백엔드 개발자 1명으로 이루어져 있다!
큐시즘 30기 부학회장을 맡게 되고 정신 없이 리크루팅을 준비하던 8월 초..
29기를 함께했던 디자이너 친구에게 연락이 왔다.
웬투밋 개선을 목표로 사이드 프로젝트를 진행중이고 8월 내로 배포하는 것이 목적인데 백엔드 파트로 합류할 생각이 있냐는 것이었다.
다행히 그 당시에는 교내 캡스톤, 창업동아리 등이 마무리 된 상태였기 때문에 따로 하고 있는 프로젝트는 없었다.
사실 크게 고민도 하지 않고 좋겠다고 한 것 같다!
우선 사이드 프로젝트이기에 큰 부담을 가지지 않았고, 무엇보다 빠르게 개발 후 배포하여 계속해서 개선한다는 점이 마음에 들었다.
그렇게 우만당만 팀에 자연스럽게 합류하게 되었다.
아래부터는 3개월 넘게 함께 프로젝트를 진행하면서 좋았던 점들과 아쉬운 점들에 대해서 적어보려고 한다!
나는 프로젝트를 할 때는 가능한 한 빠르게 연락을 하고 문제를 해결해주려고 하는 편인데, 이 부분이 맞지 않으면 개인적으로 정말 힘들었다.
하지만 우만당만 팀원들은 모두 연락이 빠른 편이었고, 특별한 일이 있지 않은 이상 몇 시간 내로는 답을 받을 수 있었다.
우리는 아직까지는 카카오톡을 사용해서 대부분의 소통을 진행하고 있다.
슬랙 & 게더 & 노션 & 피그마
등.. 요즘에는 협업 툴들을 다들 잘 사용하는 편이지만, 너무 많은 툴들을 사용하다 보면 정보가 산재되어 빠른 피드백을 하기 어려운 경우가 있다.
또한 개발자들이 상대적으로 말이 적은 경우가 많은데, 우리 팀의 경우에는 그렇지 않고 아래와 같이 모두 활발하게 의견을 주고 받는다.
~이런 부분들이 필요하니까 개발해주세요!
라는 말을 듣고 마치 외주를 받은 것 마냥 개발하는 것이 아니라,
사소한 부분 하나를 만들더라도 왜 만들어야 하는지
이 기능이 실제로 고객에게 가치를 전달하는지
를 다함께 고민하고 있다.
또한 일적으로만 만난 사이라면 어색하기에 이렇게 말을 편하게 하기가 어려울텐데,
우리는 모두 큐시즘 29기부터 함께해 편하게 대화를 나눌 수 있다는 점도 장점인 듯 하다 👍🏻
지금까지 백엔드 파트로 프로젝트를 진행하면서 가장 아쉬웠던 점은,
몇 달 동안 열심히 만든 서비스를 아무도 사용하지 않는다
는 것이었다.
초반에는 그저 끝낸 것에 행복해하며 리드미를 꾸미고 뿌듯해했지만,
시간이 지날수록 이는 큰 의미가 없다는 걸 깨닫고 약간의 회의감이 드는 시기였다.
그 때 운이 좋게도 우만당만 팀을 만나,
실제로 유저들이 사용하고 피드백을 주는 OneTime
서비스를 즐겁게 개발할 수 있게 되었다.
첫 배포도 약 3주만에 빠르게 개발 후 배포했지만,
사소한 부분을 제외하고는 핵심 기능들은 충분히 사용할 수 있을 정도의 퀄리티였다고 생각한다.
이후 3번의 스프린트, 그리고 3번의 릴리즈를 통해서 계속해서 업데이트를 진행하며 서비스의 가치를 끌어올리려고 노력하고 있다.
아직 엄청나게 많은 유저들이 사용하는 것은 아니지만, 백엔드 개발자로서 이러한 경험은 처음이기에 굉장히 즐겁다 😁
내가 짜고 있는 코드 한 줄 내가 만드는 서비스에 애정과 책임감을 갖게 되었고,
이는 나를 더 좋은 개발자로 성장시켜 줄 큰 동력이 되었다고 생각한다.
개발에 대한 자세한 부분들은 추후 각 스프린트 회고글에서 적어보려고 한다 ✍🏻🔥
사실 나는 우리 팀원들과 성향이 아주 잘 맞는다고 생각하기에 아쉬운 점은 거의 없으나,
앞으로의 발전을 위하여 굳이 두 가지만 뽑아보도록 하겠다.
굉장히 빠르고 자유로운 분위기 속에서 서비스를 만들 수 있다는 점은 장점이지만,
곧 체계가 부족하다는 단점으로도 이어질 수가 있다.
실제로 초반에 들어와서는 내가 어떤 걸 어떻게 만들어야 하는지 파악하는 데 시간이 오래 걸렸고, 수많은 질문 공세를 한 후에야 완전히 이해하고 개발에 들어갈 수 있었다.
심지어 갑자기 떠오른 아이디어로 인해서 완전히 틀을 바꾸고, DB 설계를 다시 진행한 적도 있었다 🤣
그 당시에는 조금만 더 빨리 말해주지..
라는 마음이 든 건 사실이나,
다시 곰곰히 생각해 보니 '이러한 점이 우리 팀의 강점이기에 웬만하면 수용하는 것이 맞다' 라는 생각이 들었다.
불만을 갖기 보다는 '어떻게 해야 새로운 아이디어가 추가 돼도 크게 변하지 않도록 DB를 잘 설계할 수 있을까?' 라는 마인드를 갖기로 하였고, 이는 유연하고 유지 보수하기에 용이한 DB 구조를 만들 수 있도록 깊이 고민하는 계기가 되었다.
현재는 다들 큰 문제 없이 각자의 일을 잘 진행하고 있지만,
원래 하고 있는 다른 일들이 바빠지면서 아무래도 조금씩 소홀해지는 경향은 있는 것 같다.
큰 애정을 갖고 있으나 아직 1순위로 여기기에는 어렵기 때문에 각자의 방법으로 동력을 잃지 않도록 유의해야할 것 같다!
이러한 부분들을 같이 고민해 보고 해결하는 과정 자체도 큰 성장이라고 생각한다 👍🏻👍🏻
뭔가 뚜렷하게 떠오르지는 않는다.
하지만 팀원 모두 사람들에게 정말로 도움이 되는 서비스를 만들고 싶다
라는 마음가짐은 동일할 것이라고 생각한다.
그렇기 위해서는 우리 서비스의 가치를 극대화 시켜야 하며, 이를 우리만 아는 것이 아니라 고객에게 적극적으로 전달해야 한다. 그리고 피드백을 수용하며 앞으로 더 나은 서비스를 만들기 위해 끊임없이 노력해야할 것이다.
그러다 보면 우리 서비스와 우리 팀원 모두 크게 성장해 있지 않을까?
하는 나만의 생각이다 😁
우선 나부터 현재의 즐거움을 잊지 않고 노력할 것이다 🧑🏻💻🔥
오옹 재미있네요 상호님이 만드신 건가요?