電報グループ: pinary.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 の規則に従っていることを保証するために Laravel Pint を使用しています。また、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 General Public Licenseに基づいてライセンスされたオープンソース ソフトウェアです。