K직장인

K직장인 (K-Worker) 오프라인 모임 현장에서 새로운 인연을 만들 수 있는 직장인 네트워킹 PWA입니다. 서비스 개요 오프라인 모임에 참가한 직장인들이 서로를 탐색하고, 관심을 표현하고, 매칭되면 1:1 채팅을 나눌 수 있는 플랫폼입니다. 참가자 앱 체크인 & 테이블 배정 QR 코드 기반 이벤트 체크인 자동 테이블 배정 (규칙 기반) 테이블 이동권 시스템 참가자 탐색 체크인한 참가자 목록 조회 필터 검색 (성별 / 나이 / MBTI / 키워드 / 테이블) 프로필 상세 보기 온라인 상태 표시 하트 & 매칭 관심 있는 상대에게 하트 보내기 상호 하트 시 매칭 성립 매칭 시 1:1 채팅방 자동 생성 하트 크레딧 / 쿨다운 시스템 1:1 채팅 매칭된 상대와 실시간 텍스트 채팅 신고 / 차단 기능 테이블 주문 테이블에서 음료/주류 주문 운영자에게 실시간 전달 관리자 콘솔 운영자가 현장 전체를 실시간으로 통제할 수 있는 관리 도구입니다. ...

2025-12-30 · 2분 소요 · Seunghan
Flutter Testflight Crash Firebase Init Missing

Flutter TestFlight 크래시 - Firebase.initializeApp() 누락

TestFlight 빌드를 올렸는데 앱을 열자마자 즉시 종료됐다. 시뮬레이터와 디버그 빌드에서는 멀쩡했다. 원인은 Firebase.initializeApp() 호출 누락이었다. 왜 디버그에서는 괜찮고 릴리즈에서만 터지나 firebase_core를 추가하면 iOS native Firebase SDK가 CocoaPods를 통해 앱 바이너리에 포함된다. 앱이 실행되면 iOS 런타임이 GoogleService-Info.plist를 감지하고 native SDK 내부 초기화를 시작한다. Flutter Dart 레이어에서 Firebase.initializeApp()을 호출하지 않으면 native SDK ↔ Dart 브리지 사이의 동기화가 깨진다. 디버그 빌드에서는 실행 속도가 느리고 타이밍 여유가 있어 어물쩍 넘어가는 경우가 있지만, 릴리즈 빌드는 AOT 컴파일로 실행 속도가 빨라지면서 타이밍 차이가 드러나 크래시로 이어진다. ...

2025-08-16 · 2분 소요 · Seunghan
Flutter Ios Signin Firebase Setup

TestFlight 빌드에서 Google/Apple 로그인 둘 다 실패하는 이유

TestFlight 빌드에서 Google 로그인, Apple 로그인 둘 다 실패했다. 시뮬레이터에서는 잘 됐는데 TestFlight에서만 터지는 케이스다. 원인 1: GoogleService-Info.plist에 CLIENT_ID 누락 Firebase Console에서 iOS 앱을 처음 등록할 때 GoogleService-Info.plist를 다운받으면 기본적으로 CLIENT_ID와 REVERSED_CLIENT_ID가 포함되어 있다. 그런데 Google Sign-In을 Firebase에서 활성화하기 전에 다운받으면 이 키들이 빠진 채로 생성된다. 확인 방법: grep -A1 "CLIENT_ID\|REVERSED_CLIENT_ID" ios/Runner/GoogleService-Info.plist 아무것도 안 나오면 키가 없는 것. 왜 문제인가 iOS에서 Google Sign-In은 OAuth 콜백을 받기 위해 앱에 URL Scheme이 등록되어 있어야 한다. 이 URL Scheme이 바로 REVERSED_CLIENT_ID 값이다. 값이 없으니 Info.plist에 Scheme 등록도 못 하고, 결과적으로 Google 로그인 창에서 인증 후 앱으로 돌아오지 못한다. ...

2025-08-03 · 3분 소요 · Seunghan
Firebase Phone Auth Not Working Diagnosis

Flutter Firebase Phone Auth - SMS가 안 와요? 진단부터 코드 수정까지

Flutter 앱에 전화번호 인증을 붙이고 나서 “인증번호가 안 와요"라는 상황을 마주쳤다. 그리고 개발용 bypass 버튼을 눌러서 인증을 건너뛰고 회원가입을 시도하면 서버에서 “인증이 완료되지 않은 전화번호입니다"가 떴다. 두 문제를 같이 정리한다. 구조부터 파악 Flutter Firebase Phone Auth의 흐름은 이렇다. Flutter → FirebaseAuth.verifyPhoneNumber() → Firebase가 SMS 직접 발송 ↓ 사용자가 코드 입력 ↓ Flutter → Firebase로 코드 검증 → ID Token 획득 ↓ Flutter → 백엔드로 firebase_token 전송 → 서버가 토큰 검증 → PhoneVerification 레코드 생성 ↓ Flutter → 회원가입 요청 → 서버가 PhoneVerification 확인 후 유저 생성 핵심은 SMS 발송 자체를 Firebase가 담당한다는 점이다. Rails나 다른 백엔드에서 Twilio 등을 호출하는 구조가 아니다. ...

2025-07-02 · 3분 소요 · Seunghan
Firebase Android Sha1 Ios Apns Complete Setup

Firebase Phone Auth 플랫폼 설정 완전 정복 - Android SHA-1, iOS APNs

Firebase 전화 인증을 붙이고 에뮬레이터에서는 되는데 실기기에서 안 된다면, 대부분 플랫폼별 추가 설정이 빠진 것이다. Android와 iOS 각각 필요한 설정을 정리한다. Android: SHA-1 지문 등록 Firebase Phone Auth는 Android에서 Play Integrity API를 사용한다. 이 때문에 앱의 서명 키 지문(SHA-1)을 Firebase에 등록해야 한다. 없으면 인증 요청 자체가 실패한다. 1. 키스토어에서 SHA-1 추출 keytool -list -v \ -keystore android/app/upload-keystore.jks \ -alias upload \ -storepass YOUR_STORE_PASSWORD 출력 예시: SHA1: 64:60:03:0B:00:6F:E2:29:A4:40:DD:E3:44:3A:7D:32:39:2B:6A:42 SHA256: 24:83:18:41:D6:9A:E5:84:26:71:8E:A2:... key.properties 파일이 있다면 비밀번호를 거기서 확인한다. ...

2025-06-29 · 3분 소요 · Seunghan
Google Oauth Wrong Project Number

Google OAuth 클라이언트 ID의 프로젝트 번호가 Firebase 프로젝트 번호와 다른 경우

Google OAuth를 새로운 환경에서 재설정하려는데 기존에 저장된 Client ID의 프로젝트 번호가 Firebase 프로젝트 번호와 달라 secret을 찾을 수 없었던 케이스를 정리한다. 상황 .env 파일에 이런 형태로 저장되어 있었다. GOOGLE_CLIENT_ID=1091056260493-xxxxxxxx.apps.googleusercontent.com GOOGLE_CLIENT_SECRET= # 비어있음 Firebase 콘솔을 확인하니 해당 앱의 실제 프로젝트 번호는 333977052282였다. Google OAuth Client ID의 앞부분 숫자가 GCP 프로젝트 번호다. 즉 1091056260493이라는 프로젝트가 따로 존재해야 하는데, gcloud 계정에서 확인해보니 해당 번호의 프로젝트가 없었다. 원인 파악 # 전체 프로젝트 목록 확인 curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudresourcemanager.googleapis.com/v1/projects" | \ python3 -c "import sys,json; [print(p['projectNumber'], p['projectId']) for p in json.load(sys.stdin)['projects']]" 결과에서 1091056260493 번호를 가진 프로젝트가 없음을 확인. ...

2025-06-15 · 2분 소요 · Seunghan
Flutter Google Signin Ios Setup

Flutter Google Sign-In iOS 설정: GoogleService-Info.plist CLIENT_ID 누락 문제

Flutter 앱에서 google_sign_in 패키지로 Google 로그인을 구현했는데 iOS에서만 동작하지 않는 경우, GoogleService-Info.plist에 CLIENT_ID가 없는 게 원인인 경우가 많다. 문제 Android에서는 Google 로그인이 잘 되는데 iOS에서는 로그인 창이 뜨지 않거나 에러가 발생한다. Firebase 콘솔에서 iOS 앱을 등록하고 GoogleService-Info.plist를 다운로드해서 프로젝트에 추가했지만, 기본 다운로드 파일에는 CLIENT_ID가 포함되지 않는 경우가 있다. GoogleService-Info.plist에 CLIENT_ID 추가 1. iOS OAuth 클라이언트 확인 Google Cloud Console → API 및 서비스 → 사용자 인증 정보로 이동한다. Firebase 프로젝트를 생성하면 자동으로 iOS용 OAuth 클라이언트가 생성되어 있다. 클라이언트 ID 형식은 아래와 같다. ...

2025-06-04 · 2분 소요 · Seunghan
개인정보처리방침 문의