Infrastructure

운영 콘솔은 인증 뒤에,
소개 사이트만 공개입니다

FREYM 운영 콘솔(freymadmin.llnpco.dev)은 사이트 전체가 인증 뒤에 있고, 이 소개 사이트(freym.llnpco.dev)만 공개입니다. 인프라는 LLNP이며 홈즈 서버에는 아무것도 올리지 않습니다.

Stack

원장 하나 위에서 돕니다

실제로 확인되는 구성만 적었습니다. 호실·계약·청구·수납이 같은 원장을 봅니다.

PostgreSQL 원장정본은 원장 하나입니다. 호실 현황·계약·청구·수납/미수·청구서·변경 이력이 전부 이 원장을 봅니다.
스키마 마이그레이션 20개원장 구조는 마이그레이션 20개로 서 있습니다.
확정 규칙 청구 엔진청구액은 확정 규칙(JC-01~07)으로 계산한 산출값입니다. 활성 계약 44건 전부 계산되고 차단은 0건, 회귀 테스트 47건이 규칙을 고정합니다.
운영 콘솔 — 전체 인증freymadmin.llnpco.dev는 경로 예외 없이 사이트 전체가 인증 뒤에 있습니다(기본 차단).
소개 사이트 — 전체 공개freym.llnpco.dev는 누구나 볼 수 있는 공개면입니다. 운영 데이터를 담지 않습니다.
시트에서 이관구글 스프레드시트 1개(18탭 · 77,000셀 · 49,400수식)로 운영하던 것을 앱으로 옮겼습니다. 시트는 아직 정본이고 전환 시점은 협의 중입니다.

Principles

원장에 박아 둔 규칙

운영 중에 지켜야 할 것을 사람의 주의력이 아니라 DB에 걸어 뒀습니다.

원장은 append-only물리 삭제를 하지 않습니다. 수정은 superseded_by로 덧씁니다. 퇴거한 계약도 목록에 그대로 남습니다.
모든 쓰기는 기록됩니다화면에서 고쳤든 SQL로 고쳤든 구분 없이 audit_log에 트리거로 남습니다. 변경 이력 화면에서 그대로 봅니다.
발행된 청구서는 불변발행하면 번호가 붙고 내용이 스냅샷으로 굳습니다. DB 트리거가 변경·삭제를 막습니다.
날짜는 UTC 자정 기준기준 시각을 하나로 통일했습니다.
시크릿은 저장소에 두지 않습니다자격증명은 환경변수로 주입합니다.

Access

접근은 두 축으로 갈립니다

운영 데이터가 있는 면과 소개만 있는 면을 도메인부터 분리했습니다.

표면대상게이트
운영 콘솔 freymadmin.llnpco.dev직원사이트 전체 인증 · 경로 예외 없음(기본 차단)
솔루션 소개 freym.llnpco.dev누구나전체 공개 · 운영 데이터 없음

운영 데이터는 인증 뒤에만 있습니다. 이 소개 사이트에는 실데이터가 올라가 있지 않고, 화면 설명과 실측 수치만 있습니다. 운영 콘솔은 일부 경로만 막는 방식이 아니라 사이트 전체가 기본 차단입니다.

인프라는 LLNP입니다. 홈즈 서버에는 아무것도 올리지 않습니다. 실데이터는 일본 7물건 98실(운영 중 77 · 운영 미개시 21) · 계약 51건 · 회계 원장 1,385행이며, 전부 인증 뒤 운영 콘솔에만 있습니다.