Skip to content

MOPCON/Equipment-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Equipment-management-system

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

Table of Contents

Requirement

  • 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

Installation

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

  1. 從 Github Clone 到本機。
git clone [email protected]:s9801077/Equipment-management-system.git
cd Equipment-management-system
  1. 複製 .env.example.env
cp .env.example .env
  1. .env 設定資料庫登入資訊,請將以下設定依照開發環境修改。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
  1. 安裝 PHP 與 Node 相依套件。
composer install
yarn install
  1. 產生 App Key。
php artisan key:generate
  1. 產生資料表與假資料,如果不想產生假資料,請移掉 --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: [email protected]
Password: admin12345

Deployment

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

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

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

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

  4. 設定資料夾權限

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

Deploy with Envoy

詳細使用方式可以參考 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

Note:

  • 記得設定排程。
  • 記得執行 Queue 的處理指令。

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] 的為僅允許在個人頻道使用。

  • saveId: 儲存頻道 ID
  • whoAmI: 顯示自己的 ID [private]

詳細 Telegram bot 說明可洽 WIKI

Contributing

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

PHP 注意事項

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

Vue 注意事項

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

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

  • 建立環境:
make run-dev
  • watch mode:
make run-watch
  • build dev:
make run-build-dev
  • install js packages:
make run-yarn-install

or just run yarn install

  • 建立資料庫 table
make run-migrate
  • 建立假資料
make run-seed
  • 清除 docker
make stop-dev

使用 Docker 建立整個專案

說明

  • docker-compose 用於建立整個專案的前後端環境、資料庫、網頁伺服器

  • Dockerfile 用於後端 PHP 部署

  • url: http:localhost:81

步驟

  1. 安裝 php composer 相關套件
composer install
  1. 啟用 docker-compose
docker-compose up -d --build
  1. 建立資料庫 table
docker-compose exec php sh -c "php artisan migrate"
  1. 建立假資料
docker-compose exec php sh -c "php artisan db:seed"
  1. 結束 docker-compose
docker-compose down
  1. 完整清除 docker
docker-compose down -v

前端:

  • install packages:
docker-compose exec node sh -c "yarn install"

or just run yarn install

  • watch mode:
docker-compose exec node sh -c "yarn run watch"
  • build dev:
docker-compose exec node sh -c "yarn run dev"

License

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

About

This is MOPCON content manager system.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 12