作成したサイト
今回開発した「トレオタ」は、トレーディングカード専門の通販サイトです。このサイトでは、中古や新品のトレーディングカードの販売に加えて、ネット上でオリパガチャが楽しめる「トレオタガチャ」、さらに自宅から手軽にトレーディングカードを売却できる「宅配買取」サービスを提供しています。トレーディングカード愛好者にとって、ワンストップであらゆるニーズを満たせるプラットフォームを目指しています。
サイト構成
サイトのフロントエンドは、Next.jsをベースとしたReactアプリケーションで構築されています。開発にはTypeScriptを用い、型安全性と開発効率を向上させています。また、Tailwind CSSを活用することで、デザインのカスタマイズを効率的に行い、統一感のあるユーザーインターフェースを実現しました。
バックエンドはDjangoフレームワークを使用し、インフラストラクチャはAmazon EKS(Elastic Kubernetes Service)を利用しています。
構築していくうえでの一番大変だった箇所
特に困難だったのは、カード検索機能の実装です。この機能はOpenSearchを用いて構築しましたが、インデックスの設計にいくつかの課題がありました。具体的には、カードが重複して検索結果に表示される問題や、特定のキーワードで検索しても意図しない結果が表示されるという現象が発生しました。これらの問題を解決するために、インデックスの設計を見直し、クエリのロジックを最適化する作業が必要でした。特に、ユーザーが期待する検索結果を得られるように、フィルタリングや検索アルゴリズムの調整に多くの時間を費やしました。
まとめ
今回のサイト開発は、私にとって初めて会社での完全新規サイトの開発でした。そのため、設計から実装、運用に至るまで、多くの課題に直面しました。
サイト公開するまでに、いくつかのトラブルがありサイト公開してしばらく経つまで、大きなエラーがないか何度も受注や検索、ページの表示処理の確認を何度も行っていました。
幸い、大きなエラーは発生せずサイトが止まるようなことはなかったですが、今後はエラー等の発生が少ないまたは無いように努力していきます!