湯季勳 Tom

  軟體工程師

  [email protected]

  0912-909577

        數學系的訓練,擁有良好的邏輯思維,於數理補習班的多年教學經驗,能夠迅速掌握核心知識重點,自信擁有良好的表達能力及自主學習力。

        擅長後端 .NET Core MVC 以及前端 HTML/CSS/JavaScript、Vue.js,且透過 Azure DevOps  Microsoft Azure 服務,團隊開發完成具有買家前台、賣家後台管理、平台後台的三方平台及金流串接之完整度高的 Hatsukoi 電商平台專案,後台採 .NET Core Web API + BootstrapVue 實現前後端分離的開發模式。 

        在專題時擔任組長,主動研究新技術 SignalRViewComponentGoogle API、ExceptionFilterCloudinary、MailKitCoravel、ChatGPT API,在專題期間主動召開讀書會,帶領組員迅速掌握技術重點,並協助同學一步一步解決問題!

技能

後端


  • C# / .NET
  • ASP.NET Core MVC
  • MS-SQL
  • ORM - Entity Framework Core

前端


  • CSS / Bootstrap 
  • JavaScript
  • AJAXAxios 
  • Vue.js
  • BootstrapVue 

平台及工具


  • Microsoft Azure 
  • Azure DevOps 
  • Git / GitHub
  • SwaggerPostman  

專案 - Hatsukoi 電商平台

擔任組長,與團隊六人共同協作開發電商平台,具有完整消費者購物流程、賣家訂單商品管理流程與後台管理流程,並藉此熟悉前後端框架、設計模型、API撰寫與資料傳輸。


Hatsukoi 前台    網站連結

登入帳號:hatsukoi520
登入密碼:hatsukoi123


專題技術

ASP.NET Core MVC為框架,使用 Razor JavaScript做前端畫面渲染,並搭配 Ajax 做資料傳遞;後端實踐 DI  相依性注入來降低類別之間的耦合度,且 Repository 透過使用泛型方法提升使用上的彈性

Hatsukoi 後台    網站連結

登入帳號:Admin
登入密碼:abc123


專題技術

ASP.NET Core MVC 為框架,使用 Razor JavaScript做前端畫面渲染,並搭配 Ajax 做資料傳遞;後端實踐 DI 相依性注入來降低類別之間的耦合度,且 Repository 透過使用泛型方法提升使用上的彈性


負責項目

專案管理


  • 擔任組長:主導組內網站功能模組規劃、工作分配,並使用 Git 進行版本控管,透過 Azure DevOps CI/CD 服務達成自動化部屬,並協助同學解決問題。
  • 資料庫設計 : 資料庫架構初版設計。
  • 專案管理:透過 Azure DevOps Board 追蹤專案,並適時關心與了解組員進度。 
  • 專案架構:前後台皆使用 Repository/Service 分層架構拆分資料存取與商業邏輯避免職責混雜讓程式碼更易於維護並使用 ORM - Entity Framework 實作CRUD。
  • 延伸套件研究:包含 Cloudinary Coravel MailKit ChatGPT ApiGoogle ApiSignalR   ...等,並將其套用在專題中。

前台負責項目


  • 共用模組
    • Cloudinary 圖片轉換網址
    • Coravel 建立排程
    • MailKit 寄信
  • 登入模組
    • 使用 ViewComponent 讓登入modal 能夠單獨顯示並且在內部寫單獨邏輯 
    • 使用Cookie-based身分驗證
    • 使用SHA256讓密碼不外洩
    • 會員註冊,搭配 MailKit 寄信驗證信箱確保使用者真實性,並且重設密碼設定超過10分鐘連結無效,讓帳號更安全 
    • 結合 Google 第三方登入讓成為會員更簡單
  • 會員模組
    • 由前端進行資料檢核,降低後端檢核的負擔, 使用 ORM - Entity Framework Core 實作 CRUD,包含 會員資料設定賣家申請流程、賣家資料設定,並且使用 Cloudinary 讓使用者更改照片
    • 計算累積消費的會員等級以及下個等級的差額,並使用單元測試確保計算正確性賣家基本設定
  • 通知中心模組
    • 使用SignalR實現即時發送通知給使用者,顯示使用者未讀訊息數量,讓使用者在賣家出貨訂單以及收到優惠券時能及時收到
    • 使用WebAPI 讓後台能夠利用敲API的方式即時傳遞廣播給所有使用者
    • 使用Coravel 建立排成讓後台傳遞定時廣播
  • 聊天室模組
    • 使用 Vue.js 將訊息依照時間排序並且顯示未讀訊息數量
    • 使用 ajax 取得使用者過往的聊天對象,開啟與聊天對象的對話框,載入歷史聊天紀錄,並且配合Vue 滑動滾輪時從後端取得更多訊息歷史紀錄,同時也能讓時間正確顯示,讓訊息動態加載提升效能及使用者體驗。
    • 使用 SignalR 達到訊息即時傳遞,讓訊息預覽框能夠預覽訊息且正確排序時間,同時聊天對話框也能及時渲染畫面
    • Cloudinary 配合 SignalR 實現即時傳遞圖片訊息的功能
    • 實現聊天機器人,以 ASP.NET Core Web API、ChatGPT API SignalR 實作,將訊息內容以API傳遞給ChatGPT,並且將回傳訊息以SignalR即時傳遞回應給使用者

後台負責項目


  • 賣家資訊模組
    • 過axios將取得賣家資訊,並且使用Bootstrap Vue 渲染畫面
    • 賣家資訊頁面利用使用 ORM - Entity Framework Core 實作 CRUD 違反規定的賣家停權
    • 賣家審核頁面,審核賣家後會將結果發送email給被審核者,以此來通知
  • 後台通知中心模組
    • 發送廣播給所有使用者,並且可以分為即時發送或定時發送,利用 Web API 讓前台頁面接收通知訊息
    • 即時訊息會在 API 被觸發時使用前台 SignalR 的 HubContext 以此來達到即時渲染畫面
    • 定時利用 Coravel 程來將定時訊息在指定時間廣播

其他作品


 貪食蛇

練習 setTimeoutsetInterval 以及 random 的運用。    並且利用 localStorage 來儲存歷史遊玩紀錄。

 108年度大學人數地圖

練習透過 JavaScript fetch 取得 Response,整理獲得的資料並將資料整合至 Leaflet 地圖及表格中。 


 行事曆/My Bullet Journal

Local Storage 做資料存取, JavaScript 動態生成每月日期,可新增、修改、刪除代辦事項 

 1A2B小遊戲

使用 HTML、CSS、Bootstrap、JavaScript , 主要訓練自生邏輯能力,挑戰益智小遊戲  

學歷&工作經歷


Build School 軟體人才就業培訓

November 2022 - May 2023

  • 於小組專題時擔任組長
  • C#與物件導向
  • 網頁前端 HTML / CSS/ SASS/ RWD / Bootstrap 
  • 前端技術 JavaScrip 
  • Google Map API 應用、Azure Web 雲端服務、 系統資料庫設計與 SQL Server 管理與開發
  • Web 開發 ASP.NET Core MVC - 線上電商平台、Git及Github 
  • 前端框架 Vue.js 

學士園文理補習班

輔導老師 - 已經教過50人以上,並且國三每屆皆有80%以上的公立高中錄取率

March 2020 - October 2022

生物、數學科任課老師 - 因深受主管及家長信任,於1年之內從輔導老師轉為任課老師

March 2021  - October 2022 

輔仁大學

應用數學系

September 2018 - June 2022