頭貼

蔡旻璁, MTsung, Toby

Backend / Flutter Engineer

新北市, 台灣 (New Taipei, Taiwan)

mtsung103035@gmail.com

0987086921

LINE

GitHub

Facebook

Youtube

Blog

Work Hard, Play Harder !



關於我 About

畢業於 國立屏東大學 資訊工程學系,三年半提早畢業,在校學業成績 第一名,校內專題競賽 第一名
六年 PHP/Laravel 後端、三 Flutter 實務經驗,已獨立開發近百個專案,主要技能為純 PHPLaravelFlutter,獨立有從無到有打造過 MVC 框架CMS 系統APP。做過訂位平台、支付平台、媒合平台、購物網站、一頁式購物、形象網站、論壇、抽獎程式、社群綁定登入串接、多間銀行、第三方金物流串接、推播功能、母子網站、多語系網站、API 開發與串接、重構老舊系統、資安漏洞防範、程式效能最佳化、檢測報告生成系統...... 各種客製化功能。


主要技能 Skills

PHP、Laravel、Lumen、Livewire、Flutter(Dart)、HTML、CSS、JavaScript、jQuery、Vue.js、Angular、Bootstrap

PhpStorm、VS Code、Sublime Text、SourceTree、GitHub Desktop、Xcode、phpMyAdmin、Paw、Postman

Linux、macOS、FreeBSD、Windows

MySQL、SQLite、MongoDB

Git、Git Flow、GitHub、GitLab


工作經驗 Work

Backend Engineer + Flutter Engineer / 群悅科技
2020-11-09 - 現在
PHP、Laravel、Lumen、Go、MySQL、SQLite、Flutter、Bootstrap、JavaScript、jQuery、Vue.js、Angular、GCP、AWS、Redis

Laravel - 台灣代駕 後端系統維護、重構、擴充。
  1. 與團隊共同維護、擴充後端系統。
  2. 從零開始學習 Laravel 並於兩週內上手,並依照舊有專案架構進行擴充功能撰寫,避免同一專案 Coding Style 差異過多。
  3. 使用 Laravel + Repository Pattern and Service Layer 開發。
  4. Laravel ORM、Task Scheduling、Queue、Job、Event、Cache... 應用。
  5. 營運/業務後台 維護、新增功能。
  6. 乘客版 後端程式維護、新增功能。
  7. 駕駛版 後端程式維護、新增功能。
  8. Google Map API 、Google Vision API、台灣圖霸 API 運用。
  9. 重構營運報表讀取速度提升 40 倍
  10. 營運後台新增各式資料視覺化圖表 & 地圖分析,減少各部門溝通成本。
  11. 將資料庫不齊全的資料補回,為未來需求鋪路。
  12. 補寫舊專案的測試。
  13. 服務廠代駕 資料庫 & 後端程式架構規劃 & 製作。
  14. 串接 HiTRUSTpay、藍新(智付通) 金流。
  15. 自寫 LatLng 轉台灣鄉鎮市程式,依當時業務量預估一年可為公司減少數十萬的支出

Laravel - 享樂地圖 後端系統維護、重構、擴充。
  1. 採用 PHP 8.1 寫法將舊有 Lumen 6 專案重構為 Laravel 10。
  2. 利用閒暇時間兩個月內將使用 Livewire 架構的營運後台用純 Laravel 重構,共兩百多個 Route
  3. 三週將 Lumen 專案的 80 支 API 保留原有 Request、Response 結構,邏輯分層重構並將所有 N+1 問題解決,大幅降低伺服器負擔。
  4. 串接 LINE Notify 有例外錯誤及時通知。
  5. 串接 Reserve with Google、Google Cloud Storage、Firebase Cloud Messaging、藍新金流、Infobip 等第三方服務......
  6. 使用 Laravel DataTables、PHPOpenSourceSaver JWTAuth、efureev laravel-trees....。
  7. 享樂地圖 後端程式維護、新增功能。
  8. 享樂地圖(商家版) 後端程式維護、新增功能。
  9. 桌位、訂位功能資料庫規劃。
  10. 重構可訂位時間查詢邏輯,回應時間 8s 減少至 0.5s
  11. 後端程式底層撰寫,將重點邏輯抽出寫成單獨 Service 與 Facade,減少程式重複及各專案肥大。
  12. 依賴第三方的功能採用工廠模式,方便未來抽換第三方串接減少程式修改幅度。

Flutter - 享樂地圖 APP 開發、維護。
  1. 因 APP 工程師人力不足 & 時程短,主動自學 Flutter,自學一週後接下需求,為公司減少上百萬的外包支出
  2. APP 端從無到有獨自建置開發
  3. 一個月依照 UI/UX 的 Zeplin 設計刻出上百個頁面,兩個月與後端配合串接 60 隻 API,兩個月測試與修正並送審,準時上線。
  4. 開發使用 BLoC、Provider、Google Map、Shared Preferences、Dio、Firebase、Biometrics、QR Code Scanner、Calendar、Json serializable、lottie......
  5. Google、Facebook、Apple 社群登入功能。
  6. Firebase Cloud Messaging 推播串接。
  7. Firebase Analytics Event 埋放。
  8. Android App Link / Deep Link & iOS Universal Link。
  9. Refresh Token 機制。
  10. 深色主題製作。
  11. 同一個版號可切換測試 / 正式環境 API & 查看 API request + response,便於測試與偵錯。
  12. 預留 i18n 空間,未來可走向國際化。
  13. 參與 Google Play、Apple Store 上架流程。
享樂地圖-1享樂地圖-2享樂地圖-3享樂地圖-4享樂地圖-5享樂地圖-6

Flutter - 享樂地圖(商家版) APP 開發、維護。
  1. APP 端從無到有獨自建置開發
  2. 依照 UI/UX 產出的 270 頁 Zeplin 畫面製作,串接 100 隻後端 API
  3. Google Play 延續舊 APP 上架。
  4. 支援手機板平板,畫面依照裝置大小顯示不同排版方式。
  5. 巢狀路由導航 (Nested Navigation) 應用。
  6. 桌位圖功能,可在圖面上設定桌位、牆面柱子等物件,可自由調整位置旋轉或刪除
  7. 時間軸功能,處理供桌、併桌顯示。
  8. 支付提醒音 Text-to-Speech (TTS)。
  9. Firebase Cloud Messaging 推播串接。
  10. Refresh Token 機制。
  11. 同一個版號可切換測試 / 正式環境 API & 查看 API request + response,便於測試與偵錯。
享樂地圖(商家版)-1 享樂地圖(商家版)-2 享樂地圖(商家版)-3 享樂地圖(商家版)-4 享樂地圖(商家版)-5 享樂地圖(商家版)-6 享樂地圖(商家版)-7 享樂地圖(商家版)-8 享樂地圖(商家版)-9 享樂地圖(商家版)-10

Backend Engineer / 網動廣告科技
2018-03-26 - 2020-11-06
PHP、Smarty、ASP.NET(C# & VB)、MySQL、MSSQL、JavaScript、jQuery、Vue.js、Bootstrap、cPanel

  1. 使用純 PHP 7.3 開發,並有維護 PHP 5.2 甚至更舊的專案經驗。
  2. 獨立開發前、後台程式。
  3. 將 10 年專案模組完全重構自寫框架、制定程式撰寫規範,新增多項功能,程式安全性、可讀性、執行速度大幅提升
  4. 社群登入串接:
    • Facebook、Google、LINE、osu!。
  5. 銀行、第三方金物流串接:
    • 綠界科技、藍新科技、PayNow、YiPay、LINE Pay、第一銀行、台新銀行、華南銀行。
  6. 開發自動化生成購物、形象網站系統,類似 WordPress 可高度客製化的 CMS 系統,可客製化版面也可直接套用主題包,功能含購物車、社群登入、金流串接、多國語系...等,有新網站只需在後台新增即可使用,減少人事成本,目前已運行 60 個網站
  7. 專案開發: 會員系統、虛擬商品購物車、行事曆、excel 匯入功能、文章版型功能、票卷訂購系統、會員討論區、一頁式購物、檢測報告生成 PDF 報告系統、抽獎系統等...


學經歷 Education

NPTU - CSIE / 國立屏東大學 - 資訊工程學系
2014-09-01 - 2018-02-01

  1. 成績優異三年半提早畢業
  2. 智育獎 第一名
  3. 校內專題競賽 第一名
  4. 畢業專題 SmartExam - 一個支援程式設計的線上測驗平台,該版本實際運用在屏東大學程式設計相關課程使用長達五年,2022/10 由新系統 PARTY 取代。

私立中華高級中學 - 資訊科
2011-09-01 - 2014-06-01

  1. 取得電腦硬體裝修乙級、電腦硬體裝修丙級、工業電子丙級、電腦軟體應用丙級、網路架設丙級、網頁設計丙級
  2. 102 學年度創意科學競賽智慧機器人創意闖關競賽 第二名
  3. 2013 年全國智慧型機器人大賽 C12-輪式機器人循跡組 佳作
  4. 2013 年北區程式設計競賽 佳作
  5. 2013 年青年程式設計邀請賽 佳作
  6. 101 學年度校內專業實作比賽 電腦硬體裝修組 第一名
  7. 100 學年度校內專業實作比賽 工業電子組 第二名
  8. 數學、微電腦週邊、單晶片控制、套裝軟體實習、電子學實習均為系排 第一名
  9. 使用 NXT 樂高製作無線遙控抓抓樂,親子天下專訪


作品介紹 Projects

查詢台灣縣市鄉鎮區小工具
2021-12-04 - 2021-12-05
PHP、Laravel、Lumen

  最近公司串接的第三方地圖圖資 API 用量暴增,經檢查流程可優化外,發現後端的座標轉鄉鎮市區可不需要依賴第三方,只需利用政府資料開放平臺提供的全台界線資料即可自行解決,本機實測在 single thread 下每秒可搜尋 10 次。
  • 資料預處理,將 GeoJSON 檔案整理、分割,再利用類似 r-tree 的方式搜尋,先找出可能的地區,再遍歷搜尋是否在界線內,比原檔案暴力搜尋快上至少百倍。
  • 了解 GeoJSON 結構,解析檔案中的 polygon 類型進行運算。
  • 建立 Laravel 套件,上傳至 packagist 以便其他專案快速引入。
GitHub 連結:https://github.com/MTsung/twdd.location

查詢台灣縣市鄉鎮區小工具


NUEiP 自動打卡系統
2021-10-28 - 2021-11-06
Laravel、MySQL

  研究爬蟲應用、精進 Laravel 框架應用、解決公司同仁缺卡率過高問題
  • 會員註冊功能
  • 設定打卡時間、地點、啟用
  • 打卡結果 LINE Notify 通知
  • 利用政府公共 API 定期寫入近兩年的行事曆
  • 抓取會員請假日,避免在請假日打卡
  • 設定排除打卡日
GitHub 連結:https://github.com/MTsung/nueip_auto_clock_in

NUEiP 自動打卡系統 - 1

NUEiP 自動打卡系統 - 2

NUEiP 自動打卡系統 - 3


釣魚連結產生工具
2021-02-07 - 2021-02-07
PHP、MySQL

  跟風統神端火鍋,利用假 meta 讓社群網站的貼文或訊息預覽連結時顯示自定義的圖文,製作釣魚連結,怕被拿去做壞事所以沒做前台產生功能,僅有後台。
標準釣 : facebook 分享偵錯工具
二重釣 : facebook 分享偵錯工具

釣魚連結產生工具 - 1

釣魚連結產生工具 - 2

釣魚連結產生工具 - 3
kaog(Discord Bot)
2021-01-20 - 現在
PHP、MySQL

  kaog 是一隻在我的小圈圈裡的 discord bot,提供了許多小圈圈才懂梗的指令。還有提供賭博系統讓群組的人在閒暇之餘可以玩一下

GitHub 連結:https://github.com/MTsung/kaog_bot

kaog(Discord Bot) - 1

kaog(Discord Bot) - 2

kaog(Discord Bot) - 3
踩白塊華人盃(osu! mania)
2020-06-28 - 2020-08-22
PHP、MySQL

  朋友舉辦了一場私人的遊戲比賽,我幫忙製作了一個放置比賽資訊的網站,提供 CMS 後台,可自行設定 banner 、規則、賽程、圖池、參賽者名單、VOD 等功能。
  • 第一屆第二屆
  • 賽程表:可使用時間軸觀看每周賽程狀況
  • 賽程與圖池:可新增賽程、圖池,圖池可點擊封面撥放音樂、前往 osu! 官網下載圖譜
  • 參賽者列表:使用 pp (Performance Points) 排序
  • 直播頁面:嵌入 Twitch 實況,若實況中 menu 中的 LIVE 圖示會轉為紅色、可開啟滿版模式方便觀看 (目前功能接關閉)
  • VOD:方便賽後查閱

賽程表

踩白塊華人盃(osu! mania)
LINE Notify PHP SDK
2019-07-14 - 2019-07-14
PHP

GitHub 連結:https://github.com/MTsung/LINE_Notify_PHP

發送畫面

LINE Notify PHP SDK - 發送畫面

LINE 接收畫面
LINE Notify PHP SDK - LINE 接收畫面


金流 API SDK
2019-12-06 - 2020-10-29
PHP

  • 藍新科技
  • 華南銀行
  • 財金資訊股份有限公司
  • LINE Pay
  • PayNow
  • 台新銀行
  • YiPay
GitHub 連結:https://github.com/MTsung/PAY_API_PHP

金流 API SDK
SmartExam - 一個支援程式設計的線上測驗平台
2017-07-01 - 2017-12-18
PHP、MariaDB、jQuery

  本專題希望能跳脫出傳統的筆試,讓程式設計相關課程都可以使用 SmartExam 讓學生們可以在線上進行程式碼的編寫,並可以即時地完成程式碼編譯與執行,即時地檢查其執行結果是否和題目要求的一致。透過作弊偵測的功能,還可以有效地避免學生進行作弊,亦考慮了考試現場的需求,設計了專供監考人員使用的功能,使其可以在考場巡視的同時,仍能透過監考輔助功能掌握全班作答的動態。
  • https://smartexam.csie.nptu.edu.tw (於 2022/10 被新系統取代:PARTY,初版:Wayback Machine)
  • 屏東大學 資訊工程學系 106 學年度專題實作
  • 2017 年資訊學院專題競賽軟體 系統與雲端應用組 第一名
  • 支援 C 、 C++ 、 JAVA
  • 自動批改考試與作業,不需耗費人力
  • 便捷的程式碼編輯環境與即時編譯功能
  • 考試作弊偵測監考系統詳細記錄成績作答詳細
  • 實際上線(2017/12 ~ 2022/10)於屏東大學資工系程式設計課程的相關作業以及考試的進行
  • 考試時使用 SmartExam 考試專用程式開啟 Chrome 內建的 Kiosk 模式,強制全螢幕

Coding 畫面

SmartExam - 一個支援程式設計的線上測驗平台 - Coding 畫面

作弊偵測

SmartExam - 一個支援程式設計的線上測驗平台 - 作弊偵測

即時監考

SmartExam - 一個支援程式設計的線上測驗平台 - 即時監考

自動批改 & 成績統計

SmartExam - 一個支援程式設計的線上測驗平台 - 自動批改 & 成績統計

實際考試使用照片

SmartExam - 一個支援程式設計的線上測驗平台 - 實際考試使用照片 - 1
SmartExam - 一個支援程式設計的線上測驗平台 - 實際考試使用照片 - 2


KPS (Keys Per Second) 小工具
2017-04-18 - 2017-04-18
Visual Basic

  可用於 4k 音樂節奏遊戲 (osu!、stepmania等...) ,顯示目前按鍵狀態、每秒按鍵數(KPS)、總按鍵數(Total)。

程式畫面

KPS (Keys Per Second) 小工具

實際應用


EzERD
2016-09-01 - 2016-12-23
Java

物件導向軟體工程期末作品,EzERD 為簡易向量繪圖軟體,本專案透過先完成程式碼部份再回頭實作 UML 模型的方式進行,可在有完成專案的同時了解 UML 各模型的抽像概念以達到理解、加深學習印象的結果。

GitHub 連結:https://github.com/MTsung/EzERD

EzERD
楓之谷小程式
2014-12-01 - 2014-12-01
Visual Basic

  可使用在任何版本的楓之谷 自動按鍵(綁定楓之谷視窗在幕後執行)、自動滑鼠(幕前執行),自動滑鼠就算不使用於楓之谷也是個很實用小工具,至今仍然經常使用。

程式畫面

楓之谷小程式 - 自動滑鼠

楓之谷小程式 - 自動按鍵