Grup Telegram: pinkary.com/telegram » .
Selamat datang di Pinkary! Pinkary adalah laman landas untuk semua tautan Anda dan tempat untuk terhubung dengan orang-orang yang berpikiran sama tanpa gangguan.
Awalnya, ini dibuat untuk membantu orang membagikan tautan mereka dengan cara yang lebih terorganisir. Hanya dalam 15 jam, kami beralih dari composer create-project
ke produksi, dan setelah 24 jam, kami menjangkau lebih dari 1.000 pengguna.
Kode sumber masih menunjukkan beberapa tanda-tanda terburu-buru; itulah mengapa menurut kami penting untuk membagikannya kepada Anda—sehingga Anda dapat melihat bagaimana kami membangunnya , menggabungkan kecepatan cepat sesuai keadaan dengan kualitas yang selalu kami tuju.
Seiring waktu, kami berhasil menambahkan lebih banyak fitur, seperti feed, jelajahi, pertanyaan, suka, dan banyak lagi. Kami juga telah menyempurnakan desain, menambahkan pengujian, dan meningkatkan kualitas kode secara keseluruhan. Masih banyak yang harus dilakukan, namun yang terpenting, terdapat peluang besar untuk menjadikan proyek ini berbasis komunitas .
Pinkary adalah aplikasi Laravel biasa; itu dibangun di atas Laravel 11 dan menggunakan Livewire/Tailwind CSS untuk frontend. Jika Anda familiar dengan Laravel, Anda pasti merasa seperti di rumah sendiri.
Dalam hal pembangunan lokal, Anda dapat menggunakan persyaratan berikut:
Jika Anda memiliki persyaratan berikut, Anda dapat memulai dengan mengkloning repositori dan menginstal dependensinya:
git clone https://github.com/pinkary-project/pinkary.com.git
cd pinkary.com
git checkout -b feat/your-feature # or fix/your-fix
Jangan push langsung ke cabang
main
. Sebaliknya, buat cabang baru dan dorong ke cabang Anda.
Selanjutnya, instal dependensi menggunakan Composer dan NPM:
composer install
npm install
Setelah itu, siapkan file .env
Anda:
cp .env.example .env
php artisan key:generate
Siapkan database Anda dan jalankan migrasi:
touch database/database.sqlite
php artisan migrate
Tautkan penyimpanan ke folder publik:
php artisan storage:link
Di terminal terpisah , bangun aset dalam mode arloji:
npm run dev
Juga di terminal terpisah , jalankan pekerja antrian:
php artisan queue:work
Terakhir, mulai server pengembangan:
php artisan serve
Catatan: Secara default, email dikirim ke driver
log
. Anda dapat mengubahnya di file.env
menjadi sesuatu sepertimailtrap
.
Setelah Anda selesai dengan perubahan kode, pastikan untuk menjalankan rangkaian pengujian untuk memastikan semuanya masih berfungsi:
composer test
Jika semuanya berwarna hijau, dorong cabang Anda dan buat permintaan tarik:
git commit -am " Your commit message "
git push
Kunjungi github.com/pinkary-project/pinkary.com/pulls dan buat permintaan penarikan.
Pinkary menggunakan beberapa alat untuk memastikan kualitas dan konsistensi kode. Tentu saja, Pest adalah kerangka pengujian pilihan, dan kami juga menggunakan PHPStan untuk analisis statis. Cakupan jenis hama mencapai 100%, dan ruang pengujian juga mencapai cakupan 100%.
Dalam hal gaya kode, kami menggunakan Laravel Pint untuk memastikan kode tersebut konsisten dan mengikuti konvensi Laravel. Kami juga menggunakan Rector untuk memastikan kodenya mutakhir dengan versi PHP terbaru.
Anda menjalankan alat ini satu per satu menggunakan perintah berikut:
# 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
Permintaan tarik yang tidak lulus rangkaian pengujian tidak akan digabungkan. Jadi, seperti yang disarankan di bagian Instalasi, pastikan untuk menjalankan test suite sebelum mendorong cabang Anda.
Pinkary dihosting di DigitalOcean dan menggunakan Laravel Forge untuk mengelola server dan penerapannya. Server berjalan pada Ubuntu 22.04 (LTS) x64 dan merupakan tetesan Disk 2 vCPU 2 GB / 25 GB.
Satu-satunya layanan yang kami gunakan adalah Mailcoach untuk mengelola pengiriman email. Selain itu, SQLite digunakan sebagai driver database, driver sesi, driver antrian, driver cache, dll.
Pencadangan server dilakukan setiap hari oleh Digital Ocean.
Pinkary adalah perangkat lunak sumber terbuka yang dilisensikan di bawah Lisensi Publik Umum GNU Affero