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

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

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

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