__CAPGO_KEEP_0__ 팀이 시스템을 추가하는 과정 - __CAPGO_KEEP_1__ 앱의 업데이트를 실시간으로 관리하여 스토어의 번거로움 없이, 5분만에 설치할 수 있습니다.
A story

새로운 조직 시스템

capgo 팀이 조직 시스템을 추가한 배경이야기

기사 기여자

마틴 도나디우

작가

발레리아

리뷰어

조던

편집자

새로운 조직 시스템

소개

안녕하세요, 저는 WcaleNieWolny - Capgo의 리드 소프트웨어 엔지니어입니다.

지난 8개월 동안, 저는 context":"Page/area: Capgo Builder / native cloud build product page. Role: Short UI label or navigation item. Message key `native_build_builder_credit_over` (Native Build Builder Credit Over).",조직 시스템

Finally, after 8 months, every single part of Capgo is accessible to org members. This includes:

  • 마침내, 8개월 만에, __CAPGO_KEEP_0__의 모든 부분이 조직 구성원에게 접근할 수 있습니다. 이에는
  • 통계
  • full CLI support
  • 그리고 더 많은 것들이 있습니다!

여기까지 오르기 위해 많은 노력을 기울였습니다. 시스템의 3대 개정판이 있었기 때문입니다.

Organizations v1

시작은 어려웠습니다. 프로젝트에 합류한 지 2주 만에 이 프로젝트에 착수했습니다. 당시에는 코드베이스에 대한 지식이 거의 없었습니다. 큰 아이디어도 없었기 때문에.

이로 인해 가장 간단한 해결책을 구현했습니다. 앱, 채널, 버전만 접근할 수 있었지만, 초대된 사용자는 통계를 볼 수 없었습니다.

그 후에 마틴이 이 프로젝트를 검토하라고 기다렸습니다. 그러나 아무런 변화도 보이지 않았습니다. 3개월 후에 다시 이 프로젝트를 시작하고 모든 병합 충돌을 해결했습니다. 또한 테스트를 진행했습니다. 그러나 테스트 결과는 완전히 실패했습니다. 그때는 모든 버그를 고치고 E2E 테스트를 작성하기로 결정했습니다. 과거의 나의 많은 잘못된 결정과 함께 code이 매우 깨진 상태였습니다. 그러나 2주간의 고난 끝에 최종적으로 작동했습니다.

그러나 완벽하지는 않았습니다. 조직의 소유자는 초대된 사용자보다도 더 많은 권한을 가지고 있었고, 사용자 경험도 매우 부족했습니다. 초대된 사용자는 애플리케이션 통계를 볼 수 없었고, 청구 관리도 할 수 없었으며, CLI은 업로드만 가능했습니다.

그러나 마틴은 PR을 검토했고, 1주 후에 프로덕션에 푸시되었습니다.

Organizations v2

이 조직 시스템은 모든 어려움에도 불구하고 잘 작동하고 있었습니다. 사용자는 이를 사용하고 있으며, 이는 전체 프로젝트를 앞서 가도록 밀어주었습니다. 그러나 여전히 해야 할 일들이 있습니다:

  • fix the mess made in 행 단위 보안
  • 전체 CLI를 지원하기 위해
  • 관리자 사용자가 소유자와 동일한 접근 권한을 가질 수 있도록 하기 위해

그 후 마틴과 많은 토론을 통해 이제는 보안 규칙을 다시 작성하고 리소스 소유권을 조직과 사용자 대신 조직으로 옮기는 것이 가장 좋다고 결정했습니다. 이러한 조직 시스템과 새로운 조직 시스템 간의 통합을 더 쉽게 하기 위해, 그리고 많은 레거시 code를 제거하기 위해.

새로운 RLS code를 작성하는 것은 매우 지루했지만, 1주半만에 전체 마이그레이션을 준비했습니다.

이번에는 E2E 테스트를 작성하지 않기로 결정했으므로, 수동으로 테스트해야했습니다. 마틴과 나는 3번의 매우详细한 통화를 통해, 마침내 프로덕션으로 푸시하고 잘 될 것이라는 희망을 가지고 잠시 눈을 감았습니다.

그러나… 사용자 등록이 깨졌고, 새로운 사용자는 계정을 만들 수 없었습니다.

빠른 공포 전화 후, 나는 즉시 프로덕션으로 몇 가지 변경 사항을 푸시하고 침대에 누웠습니다. 그러나私の変更은 더 많은 문제를만들었습니다.

나는 잠에서 깨어났을 때, 사용자가 많은 빈 조직이 있었다는 것을 발견했습니다. 이는 사용자당 1개의 조직만 허용되어야 하는데, 이것은 발생해서는 안 되는 일입니다. 모든 중복된 빈 조직을 제거하기 위해 몇 시간 동안 브레인스토밍을 하였지만, 그 외의 변경은 비교적MOOTH하게 진행되었습니다.

조직 v3

그것조차도 충분하지 않았습니다. 아직까지 billing에 대한 거대한 구성 요소가 누락되어있었습니다.

현재까지는 소유주만이 billing을 관리할 수 existed였습니다. 이것은 사용자가 조직을 구매한 것으로 생각했지만 실제로는 조직에 구매한 것이 아닌 경우가 발생했습니다. 이 문제를 수동으로 해결하였고, 이 문제가 불가하다고 결정하였습니다.

이번 마이그레이션은 비교적MOOTH하게 진행되었습니다. 1주일의 작업이 필요하였지만, V1과 V2에 비해 정말로 어려운 것이 아니였습니다 🚀

조직 v4 - 미래

이 모든 어려운 작업을 통해, 이제는 다른 것을 집중할 때가 된 것 같습니다 😎

이것은 쉽지 않았지만, capgo는 매우 좋은 중요한 기능을 받았습니다 이제는 아직 legacy 함수를 deprecated하고, 웹 앱 사용자 경험을 개선하고, 버그를 모니터링해야 하지만, 이 시스템에 대한 주요 변경은 없을 것입니다.


읽어주셔서 감사합니다 🚀

A brand new organization system으로 계속 가세요

현재 사용 중인 경우 A brand new organization system 계획 대시보드와 API 운영을 계획하고 연결하세요. API 개요 API Overview에 대한 구현 세부 정보 소개 소개에 대한 구현 세부 정보 API 키 API Keys에 대한 구현 세부 정보 장치 장치에 대한 구현 세부 정보 블록 블록에 대한 구현 세부 정보

Capacitor 앱에 대한 실시간 업데이트

웹-layer 버그가 활성화되면 Capgo을 통해修정을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마세요. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경은 일반적인 검토 경로를 유지합니다.

마틴의 인간 지원

시작하기

최신 블로그 게시물

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.