MOPCON / Equipment-management-system

This is MOPCON content manager system.
MIT License
18 stars 15 forks source link
cms mopcon

Equipment-management-system

Version develop Version develop Github All Releases Version develop Styleci status Travis-ci

Table of Contents

Requirement

Installation

以下為 開發環境 安裝指南,欲部署到正式機,請至 Deployment

  1. 從 Github Clone 到本機。

    git clone git@github.com:s9801077/Equipment-management-system.git
    cd Equipment-management-system
  2. 複製 .env.example.env

    cp .env.example .env
  3. .env 設定資料庫登入資訊,請將以下設定依照開發環境修改。

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=homestead
    DB_USERNAME=homestead
    DB_PASSWORD=secret
  4. 安裝 PHP 與 Node 相依套件。

    composer install
    yarn install
  5. 產生 App Key。

    php artisan key:generate
  6. 產生資料表與假資料,如果不想產生假資料,請移掉 --seed 參數。

    php artisan migrate --seed

可用以下指令建立操作類別(無建立假資料)

php artisan db:seed --class=SystemLogTypeTableSeeder
  1. 編譯前端資源與執行內建的開發用伺服器
    yarn run watch
    php artisan serve

    到這裡就完成安裝。

Font-End Build Command

yarn run dev     # run dev mode
yarn run watch   # run watch mode
yarn run prod    # run deploy

Usage

使用瀏覽器開啟 http://127.0.0.1:8000 就會看到登入畫面,預設的帳號密碼如下:

Account: admin@ems.ems
Password: admin12345

Deployment

部署流程跟 Installation 差不多,只有以下幾點要注意。

  1. 請將網頁伺服器虛擬主機跟目錄指向專案跟目錄中的 public

  2. 網頁伺服器務必設定好 Rewrite

  3. 如果不要有假資料,請於執行 php artisan migrate 不要加上 --seed

  4. 設定資料夾權限

    chmod 777 -R storage bootstrap/cache
  5. 前端資源編譯指令改使用這個

    yarn run prod

Deploy with Envoy

詳細使用方式可以參考 Laravel 官網說明

設定

請先至 .env 進行環境參數設定

Slack_HOOK_URL // 支援 slack 通知,可以在 deploy 完成傳送 slack web hook
SLACK_CHANNEL // 設定通知的 slack channel
SERVER_NAME // 設定要 deploy 的 server 格式可以是 xxx@xxx.xxx.com or xxx.xxx.com

Note:

Configuration

設定排程

請將以下設定修改路徑後新增至 Cron

*/1 *   * * *   root    php /home/ems/test/artisan schedule:run >> /dev/null 2>&1

設定 Queue

  1. .env 中的 QUEUE_DRIVER 設定修改為 database

  2. 執行 Queue 指令 如果你是本機要用,可以直接執行 php artisan queue:listen 如果是正式機要用, 可以使用以下指令:

    screen -S ems php artisan queue:listen

    screen 是一個管理背景執行的套件。

Setting Telegram Bot

  1. 在 .env 設定 TELEGRAM_TOKENBOT_WEB_HOOK_HASH (BOT_WEB_HOOK_HASH 請自行設定隨機字串,此字串將用於給 Telegram 呼叫的 web hook)
  2. 執行 php artisan ems:set-telegram-hook 將 web hook 設定到 Telegram

Telegram Bot 指令清單

標示 [private] 的為僅允許在個人頻道使用。

詳細 Telegram bot 說明可洽 WIKI

Contributing

請遵照 Git Flow 流程,從 develop 創建一個分支、提交變更並開 Pull Request。

PHP 注意事項

請遵守 PSR-2 的規範,以統一專案內程式碼的風格,雖然我們有設定 StyleCI 修正錯誤的格式,但請將它當作最後防線。

Vue 注意事項

  1. 任何 .vue 的組件檔案名稱大寫駝峰式。
  2. 獨立一個頁面一個資料夾且名稱為小寫駝峰,每個獨立頁面的根組件與其上層資料夾同名。
  3. 路由名稱與頁面資料夾名稱相同。
  4. 為於 components 資料夾內的組件會自動註冊,各別頁面所切出來的請自行於各別的根組件註冊。

使用 Makefile 建立整個專案 (使用 docker)

使用 Docker 建立整個專案

說明

步驟

  1. 安裝 php composer 相關套件

    composer install
  2. 啟用 docker-compose

    docker-compose up -d --build
  3. 建立資料庫 table

    docker-compose exec php sh -c "php artisan migrate"
  4. 建立假資料

    docker-compose exec php sh -c "php artisan db:seed"
  5. 結束 docker-compose

    docker-compose down
  6. 完整清除 docker

    docker-compose down -v

前端:

License

The MIT License (MIT). Please see License File for more information.