diff --git a/.env.example b/.env.example index 1256b03..cb21a1f 100644 --- a/.env.example +++ b/.env.example @@ -6,7 +6,8 @@ APP_DEBUG=true APP_URL=http://localhost:8090 APP_PORT=8090 -APP_LOCALE=en +APP_LOCALE=zh_TW +APP_TIMEZONE=Asia/Taipei APP_FALLBACK_LOCALE=en APP_FAKER_LOCALE=en_US @@ -25,7 +26,7 @@ LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 -DB_DATABASE=star-cloud +DB_DATABASE=star_cloud DB_USERNAME=sail DB_PASSWORD=password # FORWARD_DB_PORT=3308 @@ -38,7 +39,7 @@ SESSION_DOMAIN=null BROADCAST_CONNECTION=log FILESYSTEM_DISK=local -QUEUE_CONNECTION=database +QUEUE_CONNECTION=redis CACHE_STORE=database # CACHE_PREFIX= @@ -49,7 +50,7 @@ REDIS_CLIENT=phpredis REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 -# FORWARD_REDIS_PORT=6380 +FORWARD_REDIS_PORT=6380 MAIL_MAILER=smtp MAIL_SCHEME=null diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..1ce7cdc --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,20 @@ +# Star Cloud 開發規範 (GEMINI.md) + +## 1. 時間與時區規範 + +- **預設時區**:必須設定為 `Asia/Taipei` (UTC+8)。 +- **實作方式**: + - `.env`:必須包含 `APP_TIMEZONE=Asia/Taipei`。 + - `config/app.php`:必須使用 `env('APP_TIMEZONE', 'Asia/Taipei')` 並將其作為預設值。 +- **目的**:確保所有資料庫紀錄、日誌及使用者介面顯示的時間與台灣當地時間一致。 + +## 2. 語系規範 + +- **預設語系**:繁體中文 (`zh_TW`)。 +- **實作方式**: + - `.env`:`APP_LOCALE=zh_TW`。 + - `config/app.php`:`env('APP_LOCALE', 'zh_TW')`。 + +## 3. 專案建立規範 + +- 未來任何新專案的初始化,都必須**優先完成**上述時區與語系的設定,嚴禁使用預設的 UTC 或英文設定。 diff --git a/開發.md b/開發.md new file mode 100644 index 0000000..644cc96 --- /dev/null +++ b/開發.md @@ -0,0 +1,26 @@ +# Star Cloud 開發文件 (開發.md) + +## 環境設定 (Environment Setup) + +### 時區與語系 (Timezone & Locale) + +本專案已統一使用台北時間與繁體中文,若重新建立環境或更新 `.env`,請確保以下設定: + +```env +APP_LOCALE=zh_TW +APP_TIMEZONE=Asia/Taipei +``` + +### 資料庫 (Database) + +- 資料庫儲存的時間戳記將對應 `Asia/Taipei`。 +- 若有舊資料同步問題,請參考修正腳本,確保所有 `created_at`, `updated_at` 與業務時間一致。 + +## 開發慣例 (Development Conventions) + +1. **監聽器 (Listeners)**: + - 避免在多個 ServiceProvider 中重複註冊同一個監聽器。 + - 登入日誌實作了 **10 秒防重覆 (Debouncing)** 機制。 +2. **裝置偵測**: + - 使用 `jenssegers/agent` 套件進行裝置與瀏覽器偵測。 + - 登入紀錄應包含 `device_type`, `browser`, `platform` 等詳細資訊。