generated from ttipo/project-base
c14580e3a4
주소 · 비밀번호 → 인증 앱 코드 → 새 비밀번호 정하기(임시 비밀번호) → 2단계 켜기(필수일 때)를 세션 노티파이어의 상태로 고른다. 첫 단계만 큰 브랜드 띠, 그다음은 짙은 띠에 [다른 계정으로 로그인]. - 2단계 켜기는 같은 휴대폰이라 QR 대신 [인증 앱에 추가](otpauth — url_launcher 6.3.3, canLaunchUrl 은 주소를 로그에 남겨 쓰지 않는다) · 키 [복사] · 코드 칸 - 실패는 칸 아래 · 위쪽 상자 · 전역 알림으로 웹 로그인 틀과 같게(REQ_001 은 코드 · 제한 단계에서 상자), 칸의 안내와 오류를 함께, 세션 끝은 로그인 화면 상자만 - 비밀번호 · 코드 · 2단계 키는 화면 메모리와 노티파이어의 10분 기억에만(두 제한 단계에서만 쥔다), 비밀 요청의 실패 예외는 본문을 비운다 — 시험이 모든 프로바이더 값에 비밀이 없음을 본다 - 제한 단계를 보내는 동안 [다른 계정으로 로그인]을 막는다, 주소 칸만 자판 추천(@ 자판) - 한글 낱말 단위 줄바꿈(KeepAllText), 시험 227건 리뷰 반영: 모르는 제한에서 비밀번호를 쥐지 않음, REQ_001 자리, 안내 · 오류 함께, 주소 칸 자판, 계약 테스트 목록(AUTH_005 · AUTH_008), AUTH_002 를 두 번 알리지 않음. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
70 lines
2.8 KiB
YAML
70 lines
2.8 KiB
YAML
name: arasystem_app
|
|
description: "ARA SYSTEM 그룹웨어 모바일 앱"
|
|
# pub.dev 에 올리지 않는 사내 앱이다.
|
|
publish_to: 'none'
|
|
|
|
# 앱 판 — build-name(1.0.0)은 Android versionName · iOS CFBundleShortVersionString,
|
|
# build-number(+1)는 Android versionCode · iOS CFBundleVersion 이 된다.
|
|
# 서버에 보내는 User-Agent 의 판(ARASYSTEM-App/<판>)도 build-name 이다 (core/api/user_agent.dart).
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
# Flutter 3.41.9 의 Dart — 판 고정은 .claude/skills/flutter/SKILL.md "Flutter 판"
|
|
sdk: ^3.11.5
|
|
|
|
# 새 패키지는 pub.dev 배포 뒤 2주가 지난 판만 고른다 (보안 규칙 "의존성"의 2주 규칙과 같다).
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
# 한국어 시스템 문구(복사 · 붙여 넣기 메뉴 · 날짜 고르기) — locale: ko
|
|
flutter_localizations:
|
|
sdk: flutter
|
|
|
|
cupertino_icons: ^1.0.8
|
|
# 기기 정보(Android 판 · 기종) — User-Agent 만들기
|
|
device_info_plus: ^13.3.0
|
|
dio: ^5.9.2
|
|
flutter_dotenv: ^5.2.1
|
|
flutter_riverpod: ^3.3.1
|
|
flutter_secure_storage: ^10.0.0
|
|
# 화면 이동 — redirect 하나가 세션 상태로 화면을 고른다 (core/router/)
|
|
go_router: ^17.5.0
|
|
# 날짜 · 숫자 형식 — flutter_localizations 가 이 판으로 고정한다
|
|
intl: 0.20.2
|
|
# 앱 판 — User-Agent 만들기
|
|
package_info_plus: ^10.2.2
|
|
# 첫 실행 표시 하나만 둔다 — 토큰은 여기에 두지 않는다 (core/storage/first_run_marker.dart)
|
|
shared_preferences: ^2.5.6
|
|
# 다른 앱 열기 — 로그인 2단계 켜기의 [인증 앱에 추가](otpauth 주소 — features/auth/data/authenticator_launcher.dart).
|
|
# 6.3.3 은 2026-10-02 배포(Flutter 팀). canLaunchUrl 은 쓰지 않는다 — debug 판 안드로이드가 주소째 로그에 남긴다
|
|
url_launcher: ^6.3.3
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^6.0.0
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
assets:
|
|
# 런타임 환경변수 — flutter_dotenv 로 읽는다 (API_URL 만 — 앱 안에 그대로 들어가니 비밀은 넣지 않는다)
|
|
- .env
|
|
# 글꼴 라이선스 — 설정의 [오픈소스 라이선스]에 보인다 (core/theme/app_fonts.dart)
|
|
- assets/licenses/pretendard-ofl.txt
|
|
# 흰 로고 둘 — 웹 frontend/src/assets/brand/ 와 같은 파일 (core/constants/app_assets.dart)
|
|
- assets/brand/
|
|
|
|
# Pretendard 1.3.9 (SIL OFL 1.1) — 웹(frontend)과 같은 글꼴. 정적 OTF 넷만 넣는다
|
|
fonts:
|
|
- family: Pretendard
|
|
fonts:
|
|
- asset: assets/fonts/Pretendard-Regular.otf
|
|
weight: 400
|
|
- asset: assets/fonts/Pretendard-Medium.otf
|
|
weight: 500
|
|
- asset: assets/fonts/Pretendard-SemiBold.otf
|
|
weight: 600
|
|
- asset: assets/fonts/Pretendard-Bold.otf
|
|
weight: 700
|