- PHP >= 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- ZipArchive PHP Extension
- ext-curl PHP Extension
- npm >= 3.10.0
- Yarn
以下為 開發環境
安裝指南,欲部署到正式機,請至 Deployment。
- 從 Github Clone 到本機。
git clone [email protected]:s9801077/Equipment-management-system.git
cd Equipment-management-system
- 複製
.env.example
至.env
。
cp .env.example .env
- 至
.env
設定資料庫登入資訊,請將以下設定依照開發環境修改。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
- 安裝 PHP 與 Node 相依套件。
composer install
yarn install
- 產生 App Key。
php artisan key:generate
- 產生資料表與假資料,如果不想產生假資料,請移掉
--seed
參數。
php artisan migrate --seed
可用以下指令建立操作類別(無建立假資料)
php artisan db:seed --class=SystemLogTypeTableSeeder
- 編譯前端資源與執行內建的開發用伺服器
yarn run watch
php artisan serve
到這裡就完成安裝。
yarn run dev # run dev mode
yarn run watch # run watch mode
yarn run prod # run deploy
使用瀏覽器開啟 http://127.0.0.1:8000
就會看到登入畫面,預設的帳號密碼如下:
Account: [email protected]
Password: admin12345
部署流程跟 Installation 差不多,只有以下幾點要注意。
-
請將網頁伺服器虛擬主機跟目錄指向專案跟目錄中的
public
。 -
網頁伺服器務必設定好
Rewrite
。 -
如果不要有假資料,請於執行
php artisan migrate
不要加上--seed
-
設定資料夾權限
chmod 777 -R storage bootstrap/cache
- 前端資源編譯指令改使用這個
yarn run prod
詳細使用方式可以參考 Laravel 官網說明
請先至 .env
進行環境參數設定
Slack_HOOK_URL // 支援 slack 通知,可以在 deploy 完成傳送 slack web hook
SLACK_CHANNEL // 設定通知的 slack channel
SERVER_NAME // 設定要 deploy 的 server 格式可以是 [email protected] or xxx.xxx.com
- Deploy production: envoy run production-cms --branch=master
- Deploy testing: envoy run testing-cms --branch=develop
- 記得設定排程。
- 記得執行 Queue 的處理指令。
請將以下設定修改路徑後新增至 Cron
。
*/1 * * * * root php /home/ems/test/artisan schedule:run >> /dev/null 2>&1
-
將
.env
中的QUEUE_DRIVER
設定修改為database
。 -
執行 Queue 指令 如果你是本機要用,可以直接執行
php artisan queue:listen
如果是正式機要用, 可以使用以下指令:
screen -S ems php artisan queue:listen
screen 是一個管理背景執行的套件。
- 在 .env 設定
TELEGRAM_TOKEN
與BOT_WEB_HOOK_HASH
(BOT_WEB_HOOK_HASH
請自行設定隨機字串,此字串將用於給 Telegram 呼叫的 web hook) - 執行
php artisan ems:set-telegram-hook
將 web hook 設定到 Telegram
標示 [private]
的為僅允許在個人頻道使用。
- saveId: 儲存頻道 ID
- whoAmI: 顯示自己的 ID
[private]
詳細 Telegram bot 說明可洽 WIKI
請遵照 Git Flow 流程,從 develop
創建一個分支、提交變更並開 Pull Request。
請遵守 PSR-2 的規範,以統一專案內程式碼的風格,雖然我們有設定 StyleCI 修正錯誤的格式,但請將它當作最後防線。
- 任何
.vue
的組件檔案名稱大寫駝峰式。 - 獨立一個頁面一個資料夾且名稱為小寫駝峰,每個獨立頁面的根組件與其上層資料夾同名。
- 路由名稱與頁面資料夾名稱相同。
- 為於
components
資料夾內的組件會自動註冊,各別頁面所切出來的請自行於各別的根組件註冊。
The MIT License (MIT). Please see License File for more information.