forked from baron/baron-sso
flutter 상위 구조로 포함. infra 분리 리팩토링
This commit is contained in:
43
Gemini.md
Normal file
43
Gemini.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Gemini Project Context - Baron SSO
|
||||
|
||||
## Project Identity
|
||||
- **Name**: Baron SSO
|
||||
- **Organization**: `kr.co.baroncs`
|
||||
- **Type**: User Authentication Hub & Unified Launcher
|
||||
- **Core Philosophy**: Secure, Seamless, White-labeled.
|
||||
|
||||
## Technical Preferences
|
||||
- **Language (Backend)**: Go (Golang) 1.25+
|
||||
- **Framework (Backend)**: Fiber (v2.25+)
|
||||
- **Database**:
|
||||
- PostgreSQL (Primary/Meta)
|
||||
- ClickHouse (Audit Logs - Local/Production)
|
||||
- **Language (Frontend)**: Dart (Flutter 3.32+)
|
||||
- **Platforms**: Web (PoC), iOS, Android.
|
||||
- **Auth Provider**: Descope
|
||||
- **Method**: Enchanted Link (Magic Link) / Flow based.
|
||||
- **Requirement**: Invisible to end-users (White-labeling).
|
||||
|
||||
## Coding Standards
|
||||
- **Go**: Follow standard Go project layout (`cmd`, `internal`, `pkg`). Use Clean Architecture principles where appropriate. Handle errors explicitly.
|
||||
- **Flutter**: Use Riverpod for state management. Separate UI (Widgets) from Business Logic (Providers/Repositories).
|
||||
- **General**: Comments in Korean or English (User is Korean speaker).
|
||||
|
||||
## Workspace Structure
|
||||
Root: `/home/lectom/.gemini/antigravity/scratch/baron_sso`
|
||||
- `/backend`: Go Fiber Application
|
||||
- `/frontend`: Flutter Application
|
||||
- `/docs`: Documentation (PRD, API Specs)
|
||||
|
||||
## Current Status
|
||||
- **Planning Phase**: Completed PRD & Architecture.
|
||||
- **Next**: Backend Setup (Go/Fiber).
|
||||
|
||||
## Reference Analysis (Descope Sample App)
|
||||
- **Source**: `descope-sample-apps/flutter_sample_app_auth_func`
|
||||
- **Findings**:
|
||||
- **Setup**: Uses `.env` for `DESCOPE_PROJECT_ID`.
|
||||
- **Initialization**: `Descope.projectId = ...` and `Descope.sessionManager.loadSession()` in `main.dart`.
|
||||
- **Auth Check**: Checks `Descope.sessionManager.session?.refreshToken.isExpired`.
|
||||
- **Note**: Sample focuses on OAuth/OTP. Baron SSO requires **Enchanted Link**, which will use `Descope.auth.enchantedLink.signUpOrIn(...)` (inference based on SDK capability).
|
||||
- **Architecture**: Simple Provider/State management recommended (Riverpod chosen for Baron SSO).
|
||||
Reference in New Issue
Block a user