소켓 없이 채팅을 폴링(Polling)으로 구현한 이유와 코드

채팅 기능을 만든다고 하면 다들 관성적으로 WebSocket이나 Socket.io를 떠올린다. 나 역시 그랬다. “채팅 = 소켓”은 공식이니까. 하지만 이번 프로젝트에서는 소켓이 아닌 3초 간격의 API 폴링(Short Polling) 방식을 선택했다. “구식 아니냐”, “서버 부하 괜찮냐”는 걱정이 생길 수 있다. 하지만 MVP(Minimum Viable Product) 단계에서 제한된 시간과 비용을 고려했을 때, 이것만큼 합리적인 선택은 없었다. 오늘은 왜 소켓을 버렸는지, 그리고 플러터에서 어떻게 3초 폴링을 효율적으로 구현했는지 정리해본다. … 더 읽기

FCM 푸시 알림 연동기 (1) – 앱(Frontend) 설정 및 토큰 발급

이번 프로젝트에서 유사 채팅 기능을 구현하면서 푸시 알림(FCM)은 피할 수 없는 산이었다. 보통 개발 블로그들을 보면 프론트와 백엔드가 섞여 있어서 막상 적용하려니 헷갈리는 경우가 많았다. 그래서 이번 구현 과정은 앱(Frontend)과 서버(Backend) 설정으로 나누어 정리해두려 한다. 오늘은 그 첫 번째, 플러터 앱에서의 설정과 토큰 관리 이야기다. 1. 상황 채팅 앱인데 알림이 안 오면 시체다. 단순히 “구글링해서 나온 코드 복붙”으로 끝날 … 더 읽기

테니스 매칭 시스템 구현기 (1) – 모바일 프론트엔드

지난 글에서 사용자 프로필을 입력받아 유저를 준비시켰다. 이제 이 사람들이 실제로 만나서 테니스를 칠 수 있게 ‘매칭(Match)’ 시스템을 만들어야 한다. Tennis GG 서비스의 핵심 기능이자, 가장 복잡한 비즈니스 로직이 들어가는 부분이다. 내용이 길어서  (1) 모바일 프론트엔드와 (2) 백엔드 편으로 나누어 정리한다. 오늘은 Flutter로 구현한 화면과 상태 관리 이야기다. 주요 포인트 매칭 시스템은 단순히 “글 쓰고 읽기”가 아니다. 이 복잡한 … 더 읽기

소셜 프로필 설정 (Flutter + GetX, Bonus+email 인증)

지난 글에서 소셜 로그인으로 사용자 인증까지 마쳤다. 하지만 우리 서비스(Tennis GG)에 필요한 건 ‘이메일’ 하나가 아니다. 테니스 실력(NTRP), 구력, 닉네임… 받아야 할 게 몇가지가 있다. 로그인 직후, 사용자를 붙잡아두고 자연스럽게 정보를 입력받는 과정(Onboarding Flow)을 어떻게 구현했는지 정리해본다. 먼저, 완성된 화면부터 보여드리겠습니다. 왜 이 글을 쓰게 되었는지 처음엔 그냥 긴 Form 하나 던져주고 “입력하세요” 할까 했다. 근데 나부터가 … 더 읽기

Flutter 소셜 로그인 (카카오/애플) 개발기

지난 백엔드 편에 이어, 이번에는 Flutter 앱 클라이언트에서 소셜 로그인을 붙이는 과정을 정리한다. 백엔드에서 아무리 잘 받아줘도, 클라이언트에서 토큰을 못 던져주면 말짱 도루묵이니까. 일단 결과물부터 보여드리면, 화면은 이런식으로 만들었고, 카톡 로그인 성공 시, 데이터 베이스에는 오른쪽과 같이 암호화된 임시 계정이 저장되었다. 왜 이 글을 쓰게 되었는지 소셜 로그인 라이브러리 kakao_flutter_sdk랑 sign_in_with_apple 가져다 쓰면 끝 아닌가? 싶었다. 그런데 막상 해보니 “카카오톡 … 더 읽기

Stitch AI로 화면 설계 효율화하기

안녕하세요! 오늘은 Tennis GG 프로젝트를 진행하면서 AI(Stitch AI)를 활용해 화면 설계를 어떻게 효율적으로 진행했는지 공유해보려 합니다. 앱 개발 과정에서 가장 고민되는 부분 중 하나가 바로 “복잡한 입력 폼을 어떻게 직관적이고 예쁘게 만들 것인가?” 입니다. 특히 제가 개발 중인 ‘매칭 생성’ 페이지는 날짜, 시간, 테니스장 위치, NTRP 레벨(실력), 구력, 모집 인원 등 입력해야 할 정보가 많아 자칫하면 화면이 … 더 읽기

AI 기반 테니스 플랫폼 TENNIS.GG 개발 로드맵: Flutter와 Antigravity의 만남

약 3년여간 테니스를 즐겨 치고 있습니다. 단순히 취미로 즐기던 저였지만 새로운 도전을 해보려고 합니다. 최근 직관했던 ‘현대 슈퍼매치’에서 알카라스와 시너의 박진감 넘치는 경기와 수많은 테니스 팬의 열기를 현장에서 직접 느끼며, 우리나라 테니스 커뮤니티와 인프라가 얼마나 빠르게 성장하고 있는지 실감했습니다. 하지만 동시에 동호인으로서 겪어온 불편함들도 떠올랐습니다. 완전 무료의 테니스 매칭앱이 없을까 라는 의문이 생겼고, 개발자로서의 한번 … 더 읽기