前言
發佈了五篇關於Laravel 的文章後,我就在思考,後面該如何延伸更多的內容,來讓正在學習或是想要學習的格友們更加的深入了解Laravel 的應用,於是我想到那就不如直接來進行專案開發,同時也能在開發的過程中更加laravel的語法以及內容。
這次我們要開發的項目是「短網址系統」,這個項目我們會以初階開發的標準來實作,並且這會是一份屬於『後端工程師』的 Side Project。
這份Side Project 難度為『E級』,一個人就可以實作,雖然定義為E級,但功能在往上附加可以達到『D級』
系統要點
- 短網址字元為六字元: 為節省存儲和方便用戶,我們將短網址限制為六字元,這個部分就可以自由決定要實作多少個字元,一旦決定了就別異動,要異動也是增加字元。
- 可查詢已申請短網址所對應的原網址: 這個功能提供一個查詢界面,使用戶能反查短網址對應的長網址。
- 原始網址不可重複申請: 系統將會檢查新輸入的長網址是否已存在,以避免重複。
- 網址長度不可超過2048位元: 這是出於存儲和安全的考慮。
相關技術項
- 後端開發: PHP - Laravel
- 數據庫: MySQL或MongoDB
- API設計: RESTful
- 服務器: Apache或Nginx
- 版本控制: Git
開發流程
- 需求分析與設計: 在專案開始前,需要清楚了解需求,並進行初步的設計。
- 環境設置: 初始化Laravel環境、設置資料庫。
- 開發與測試: 依照功能列表,分模塊進行開發和單元測試。
- 部署與優化: 一經測試無誤後,進行生產環境的部署和性能優化。
系統架構與核心邏輯
將使用Laravel的Eloquent ORM與MySQL互動,而其相關資料表會儲存短網址和原網址的映射關係。API將採用RESTful設計,方便未來擴展。
未來的瓶頸
- 同時支持萬人用戶: 由於系統需要能夠支持大量的同時用戶,我們會使用Redis來進行高速緩存。
- 安全性: 防止短網址被惡意生成或濫用,會有相應的安全機制。
結語
這個專案是一個適合實踐的微型服務,不僅能夠了解網站開發的基本流程,還能學習到資料庫操作、緩存機制、API設計等多方面的知識。希望各位有興趣的格友能夠手動先行試試,並從中獲得寶貴的經驗。
接下來我會以這個專案分別展示