電報群: pinkary.com/telegram » .
歡迎來到平卡里! Pinkary 是您所有連結的登陸頁面,也是與志同道合的人進行無噪音聯繫的地方。
最初,它的創建是為了幫助人們以更有組織的方式分享他們的連結。在短短 15 小時內,我們從composer create-project
到製作,24 小時後,我們就達到了 1,000 多個用戶。
原始碼仍然顯示出一些倉促的跡象;這就是為什麼我們認為與您分享它很重要,這樣您就可以看到我們是如何構建它的,將特定情況下的快節奏與我們始終追求的品質相結合。
隨著時間的推移,我們成功添加了更多功能,例如提要、探索、問題、點讚等等。我們還改進了設計,添加了測試,並提高了程式碼的整體品質。還有很多工作要做,但最重要的是,有一個巨大的機會讓這個計畫成為一個社群驅動的計畫。
Pinkary 是一個常規的 Laravel 應用程式;它建構在 Laravel 11 之上,並使用 Livewire / Tailwind CSS 作為前端。如果您熟悉 Laravel,您應該會感到賓至如歸。
在本地開發方面,可以使用以下需求:
如果您有這些要求,您可以從克隆儲存庫並安裝依賴項開始:
git clone https://github.com/pinkary-project/pinkary.com.git
cd pinkary.com
git checkout -b feat/your-feature # or fix/your-fix
不要直接推送到
main
分支。相反,創建一個新分支並將其推送到您的分支。
接下來,使用 Composer 和 NPM 安裝相依性:
composer install
npm install
之後,設定您的.env
檔:
cp .env.example .env
php artisan key:generate
準備資料庫並運行遷移:
touch database/database.sqlite
php artisan migrate
將儲存空間連結到公用資料夾:
php artisan storage:link
在單獨的終端機中,以監視模式建構資產:
npm run dev
同樣在單獨的終端機中,運行佇列工作程序:
php artisan queue:work
最後,啟動開發伺服器:
php artisan serve
注意:預設情況下,電子郵件會傳送到
log
驅動程式。您可以在.env
檔案中將其變更為類似mailtrap
內容。
完成程式碼變更後,請務必執行測試套件以確保一切仍然正常運作:
composer test
如果一切都是綠色的,請推送您的分支並建立拉取請求:
git commit -am " Your commit message "
git push
造訪 github.com/pinkary-project/pinkary.com/pulls 並建立拉取請求。
Pinkary 使用一些工具來確保程式碼品質和一致性。當然,測試框架選擇Pest,我們也使用PHPStan進行靜態分析。 Pest 的類型覆蓋率為 100%,測試套件的覆蓋率也為 100%。
在程式碼風格方面,我們使用 Laravel Pint 來保證程式碼的一致性並遵循 Laravel 約定。我們也使用 Rector 來確保程式碼與最新的 PHP 版本保持同步。
您可以使用以下命令單獨執行這些工具:
# Lint the code using Pint
composer lint
composer test:lint
# Refactor the code using Rector
composer refactor
composer test:refactor
# Run PHPStan
composer test:types
# Run the test suite
composer test:unit
# Run all the tools
composer test
未通過測試套件的拉取請求將不會合併。因此,正如安裝部分所建議的那樣,請務必在推送分支之前運行測試套件。
Pinkary 託管在 DigitalOcean 上,並使用 Laravel Forge 來管理伺服器和部署。該伺服器在 Ubuntu 22.04 (LTS) x64 上運行,是 2 個 vCPU 2GB / 25GB 磁碟液滴。
我們使用的唯一服務是 Mailcoach 來管理發送電子郵件。除此之外,SQLite還用作資料庫驅動程式、會話驅動程式、佇列驅動程式、快取驅動程式等。
伺服器備份由 Digital Ocean 每天完成。
Pinkary 是一款根據GNU Affero 通用公共授權授權的開源軟體