Supabase 4

[Flutter] Supabase Realtime

Supabase 실시간 데이터 처리하기 supabase의 Realtime기능은 실시간으로 데이터의 변화를 감지하여 클라이언트에 전송할 수 있는 아주 도움이 되는 기술이다. 물론 이 기능을 쓰지 않고도 trigger를 사용할 수도 있는데 새로운 기능이니 한번 써보기로 하였다. 나는 유저가 소유하고 있는 특정 데이터를 테이블 (collections)에 저장하여 그 테이블을 구독을 하고 백그라운드에서는 구독취소기능까지 구현을 했는데 실제 출시를 하고 라이브로 운영해본 결과 생각보다 버그가 너무 많았다.  RealtimeSubscribeException(status: RealtimeSubscribeStatus.channelError, details: Exception: "Realtime was unable to..

개발/flutter 2025.01.16

[AWS] 중간 서버 세팅하기

일단 굴린 후에 생각한다. 저번에 테스트 환경과 프로덕션 환경을 분리하면서 한가지 걸림돌이 있었는데 바로 앱 심사 과정이었다. 앱 심사시의 백엔드 환경이 테스트 환경이 되어야 된다는 것이다. 현재 사용하고 있는 유저들은 prod 사용 / 앱 심사시에는 변경 사항이 있는 test 사용. 이런식으로 되어야 환경 분리가 완벽히 된다. supabase_url과 supabase_api_key를 각각 환경에 맞게 가져와야 했고 물론 환경 변수 파일에 따로 저장해서 버전에 따라 다르게 가져올수도 있었지만 좀더 확실한 관리를 위해 중간 서버를 세팅하기로 하였다.  1. AWS 선택내가 고안한 방식은 api 호출을 통해 key를 가져올때 현재 클라이언트의 버전을 확인하고 만약 출시가 안된 버전이라면 (심사시에만 적용) ..

개발/aws 2024.12.14

[Supabase] 마이그레이션 & 배포 자동화

일단 하면서 발전하는거지.  앱 첫 출시후 테스트 환경이 필요하다는걸 깨달았다. 테스트 데이터를 추가시키거나 백엔드 설정을 바꾸는 등 다음 버전 개발을 위한 테스트를 실제 유저가 사용하고 있는 환경에서 할 수는 없어서 테스트 환경과 프로덕션 환경을 분리시키기로 하였다. 사실 처음부터 생각을 했어야 됐는데 놓친것 같다. 이제라도 알면 됐지 뭐..  1. Supabase 테스트 프로젝트 생성일단 서치를 한 바로는 로컬에서 서버를 생성하여 테스트 시에는 로컬 서버로 연결을 하고 배포 후에 클라우드 서버에 연결을 하는 방법과 프로젝트를 두개를 만들어서 테스트와 프로덕션 환경을 분리하는 방법이 있는것 같았다. 일단 전자의 경우 트래픽이 잡히지 않아서 마음껏 테스트를 해볼수 있고 후자의 경우는 GUI를 통해 개발을..

개발/supabase 2024.11.28

[Supabase] SMTP

일단 확장 시키고 보자.  로그인 및 회원가입을 구현하기 위해 이메일 인증을 진행하려고 하였는데 기능에서 필요한 otp 인증시에 사용되는 이메일 전송 횟수가 시간당 최대 3개로 제한 되어있음을 알게되었다. 방법을 찾던 차에 Supabase docs에 SMTP를 이용하는 방법이 자세히 나와있어서 따라하게 되었다.  1. Supabase서비스를 구현하기 위해서는 로그인, 데이터베이스, 스토리지 등의 역할을 하는 백엔드 서버가 필요하다. 이런 백엔드 서버를 코딩없이 만들수 있는 도구들을 BaaS(Backend as a Service)라고 한다. Supabase는 BaaS중 하나로 PostgreSQL 을 기반으로 하는 서버리스 백엔드 플렛폼이다. 개발자들이 백엔드를 따로 구축할 필요 없어 손쉽게 애플리케이션의 ..

개발/supabase 2024.08.26