# 工作流程系統 ### 專案背景 > 因為看到團隊上欠缺管理專案進度品質流程,為解決工作上管理專案任務有效率的一套流程,所以嘗試建構一套可將工作量化的系統 > 希望輔助開發使用! ### 安裝軟體 - [ ] Mysql 8 - [ ] React.js - [ ] Composer - [ ] VSCODE - [ ] Vite - [ ] PHP 8.2.9 - [ ] NodeJs LTS 18.17.1 - [ ] Github Desktop - [ ] Git ### 學習技術點 * laravel Queen job * laravel Eloquent ORM * laravel Eloquent Relationships * RESTful API * Swagger * maatwebsite/excel * Log System * React.js * React Hook Form Validate ### 所用到的資料來源 1. 登入users 2. 排程計畫 3. 每天待辦事項 4. 輸出報表 ``` composer create-project --prefer-dist laravel/laravel your-project-name ``` ```` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_mysql_username DB_PASSWORD=your_mysql_password ```` 建立migration Create Table Schema ``` php artisan make:migration create_uac_table php artisan make:migration create_todolist_table php artisan make:migration create_schedule_table php artisan make:migration create_report_table ``` 編輯schedule migration #### uac table ``` php artisan make:migration create_uac_table public function up(): void { Schema::create('uac', function (Blueprint $table) { $table->id(); $table->string('account'); $table->integer('pwd'); $table->tinyInteger('enable'); $table->timestamps(); }); } ``` #### todolist table ``` php artisan make:migration create_Progress_table public function up(): void { Schema::create('todolist', function (Blueprint $table) { $table->id(); $table->string('content'); $table->integer('type'); $table->integer('priority'); $table->tinyInteger('enable'); $table->tinyInteger('done'); $table->timestamps(); $table->unsignedBigInteger('uac_id'); $table->foreign('uac_id')->references('id')->on('uac'); }); } ``` #### report table ``` php artisan make:migration create_report_table Schema::create('report', function (Blueprint $table) { $table->id(); $table->string('content'); $table->integer('type'); $table->integer('priority'); $table->dateTime('DATETIME'); // datetime 列 $table->tinyInteger('isExport'); $table->tinyInteger('sign'); $table->timestamps(); $table->unsignedBigInteger('uac_id'); $table->foreign('uac_id')->references('id')->on('uac'); }); ``` #### schedule table ``` php artisan make:migration create_scgedule_table public function up(): void { Schema::create('schedule', function (Blueprint $table) { $table->id(); $table->string('content'); $table->integer('type'); $table->integer('priority'); $table->dateTime('DATETIME'); // datetime 列 $table->timestamps(); $table->unsignedBigInteger('uac_id'); $table->foreign('uac_id')->references('id')->on('uac'); }); } ``` #### progress table ``` php artisan make:migration create_Progress_table public function up(): void { Schema::create('progress', function (Blueprint $table) { $table->id(); $table->string('content'); $table->integer('type'); $table->integer('priority'); $table->dateTime('DATETIME'); // datetime 列 $table->timestamps(); $table->unsignedBigInteger('uac_id'); $table->foreign('uac_id')->references('id')->on('uac'); }); } ``` ### 開始下migration ``` php artisan migration ``` 如果不存在,會跳出是否建立 選yes ``` ```  升級完成  ## install swagger ``` composer require darkaonline/l5-swagger php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider" 會產生config\l5-swagger.php 請編輯 'docs' => storage_path('api-docs'), => 'docs' => public_path('api-docs'), 將輸出swagger 文檔 到public目錄下 ``` ### 想法 - [ ] 串接第三方登入 ### TO DO - [ ] Create Project With Composer - [ ] Create Mysql DataBase - [ ] 建立MODEL - [ ] 建立Controller - [ ] 建立api.php - [ ] Laravel 後端 - [ ] 設定伺服器配置httpd.conf - [ ] 依據功能寫API - [ ] UAC - [ ] TODOLIST - [ ] SCHEDULE - [ ] REPORT - [ ] 檢查驗證 - [ ] api token 決定是否採用session 還是 JWT token - [ ] 輸出SWAGGER - [ ] 依據功能規劃線搞 - [ ] 起專案 - [ ] 設定伺服器配置 - [ ] 開始切版 - [ ] 依據功能切割路由 - [ ] 依據SWAGGER打API - [ ] 依據回應各種case撰寫處理機制 - [ ] 加入sweetAlert - [ ] 報表輸出樣式 - [ ] excel - [ ] 開前端專案 - [ ] 建置vps環境 - [ ] 開後端專案 - [ ] 買網址 - [ ] 網址DNS部署 - [ ] php migration schema - [ ]
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.