กลุ่มโทรเลข: pinkary.com/telegram » .
ยินดีต้อนรับสู่ Pinkary! Pinkary เป็นหน้า Landing Page สำหรับลิงก์ทั้งหมดของคุณและเป็นที่สำหรับเชื่อมต่อกับบุคคลที่มีความคิดเหมือนกันโดยไม่มีเสียงรบกวน
ในตอนแรก สร้างขึ้นเพื่อช่วยให้ผู้คนแชร์ลิงก์ของตนได้อย่างเป็นระเบียบมากขึ้น ในเวลาเพียง 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 สำหรับการวิเคราะห์แบบคงที่อีกด้วย ความครอบคลุมประเภทของสัตว์รบกวนอยู่ที่ 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 vCPUs 2GB / 25GB
บริการเดียวที่เราใช้คือ Mailcoach เพื่อจัดการการส่งอีเมล นอกจากนั้น SQLite ยังใช้เป็นไดรเวอร์ฐานข้อมูล, ไดรเวอร์เซสชัน, ไดรเวอร์คิว, ไดรเวอร์แคช ฯลฯ
การสำรองข้อมูลเซิร์ฟเวอร์จะดำเนินการทุกวันโดย Digital Ocean
Pinkary เป็นซอฟต์แวร์โอเพ่นซอร์สที่ได้รับอนุญาตภายใต้ GNU Affero General Public License