portfolio.rottigni.tech

フロントエンド

  • Nuxt@4

  • TailwindCSS@4

  • Typescript

バックエンド

  • SQLite3

  • Prisma

  • Nitro

シーディングシステム

毎日深夜、ポートフォリオのSQLiteデータベースはVPS上の専用Dockerサービスによって自動的に更新されます。

このサービスはNode.jsのcronジョブを実行し、Vimeo、GitHub、GitLab API、Puppeteerスクレイピング、および静的ソース( https://storage.rottigni.tech/.

にホストされたもの)からデータを生成・更新します。@prisma/client更新はSQLiteデータベースに

を通じて適用され、VPSのファイルシステムとNuxt3コンテナの両方に反映され、Dockerボリュームで同期されます。 https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/logs/シーダーコンテナは処理中にログ(logs.log、errors.log、debug.log)を生成し、それらは私のプライベートストレージ

へ送信されます。 https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/backup/,また、各シード処理の前にSQLite3データベースのバックアップを作成し

に保存することでデータの安全性を確保します。

このシーダーの特徴の一つは、プライベートストレージをキャッシュデータプロバイダーとして利用できる点です。

(https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/history/)

元プロバイダーからデータを取得する際、新しいJSONレスポンスファイルをUTCタイムスタンプ付きでストレージにアップロードします

キャッシュが有効な場合、シーダーは元のプロバイダーではなくストレージから最新ファイルを読み込みます。

すべてはシーディングディレクトリのルートにあるseed.config.tsで管理されています。

このファイルでは、シード対象のエンティティやリレーション、キャッシュ対象、アップロード先パスを定義します。

バグを報告する

何かおかしなことが起きましたか?

"メール"は必須です。
"問題"は必須です。