Candy Rain Store
## Candy Rain Storeとは?
Candy Rain Storeは、「物販特化型ECストア」を目指して開発しているECサイトです。
従来の常設型ECストアとは異なり、必要な時に、必要な期間だけ契約・公開できる仕組みにすることで運営コストを抑え、小規模なクリエイターや活動者でも比較的利用しやすいサービスにしたいと考えています。
商品の販売方法は「事前販売」「常設」「事後販売」「受注販売」の4区分を用意し、商品や活動形態に合わせて柔軟に販売方法を設定できる仕組みを目指しています。
## なぜやるのか
一般的なECストアやグッズ販売サービスは、ショップの開設から販売、運営までを手軽に行える一方、その利便性と引き換えに一定の手数料が必要となります。
特に、まだ知名度の高くない駆け出しのクリエイターや、これから新しい活動に挑戦しようとしている人にとって、こうしたコストは一つの参入障壁になり得ます。
「自分の作ったものを、もっと多くの人に届けたい」
そう考えるクリエイターは多いのではないかと、私は考えています。
しかし、それを実現することは決して簡単ではありません。制作だけでなく、商品の準備、販売、決済、発送などさまざまな負担があり、金銭的な理由から活動を続けることが難しくなる場合もあります。
私は、そうした人たちを一人でも支え、自分が望む活動や生き方を続けるための手助けをしたい。
Candy Rain Storeは、そんな思いから始めたプロジェクトです。
## どうやるのか
Candy Rain Storeは現在も開発途中です。
現段階では、あらかじめ用意した商品データやユーザーデータをもとに注文データを生成できる、プロトタイプに近い状態です。そのため、まだ正式なサービスとしてリリースできる段階には至っていません。
一方で、Auth.jsを利用したログイン機能を実装するほか、Next.jsのDAL(Data Access Layer)やDTO(Data Transfer Object)といった考え方も取り入れています。
DALによってデータへアクセスする場所を整理し、DTOによって画面などへ渡すデータを必要なものだけに制限することで、保守性や安全性を意識した設計を進めています。
また、機能を実装するだけでなく、購入する人の「体験」も大切にしています。
たとえば商品詳細画面では、キャラクターの違いや単品・セット販売など、複数のバリエーションが存在する場合があります。
それらを単純なセレクトボックスにまとめるのではなく、最初から選択肢を一覧として表示することで、「この商品には何があり、何を選べるのか」を一目で把握しやすいUIを目指しています。
実装面でも改善を続けています。
以前は機能ごとにばらばらだったデータ操作を整理し、インターフェースを利用して「この機能を実装するなら、この操作を用意する」という共通の約束事を設けました。
これによって実装方法を統一し、コードの共通化や変更のしやすさ、バグの抑制につなげています。
単に「動くもの」を作るだけではなく、機能が増えても開発を続けられる構造にすることも、Candy Rain Storeの開発で大切にしていることの一つです。
## 見据える未来
今後の大きな課題は、購入者側の機能を完成させた後、ECサイトを運営する「販売者側」の機能を実装することです。
どれだけ商品を並べ、購入し、商品が届くまでの仕組みを作れたとしても、そのショップを設定・運営できるのが開発者である私だけでは、サービスとして完成したとは言えません。
商品を購入する「購入者」と、商品を登録して販売する「販売者」。
その両方が自分たちでサービスを利用できるようになって、初めて一つのECサービスとして成立すると考えています。
そこに到達するまでには、まだ多くの課題があります。
認証や権限管理、商品管理、注文管理、決済、在庫、配送など、これから考え、実装しなければならないことは少なくありません。
それでも、コードも積もればECサイト。
一つひとつ課題を解決しながら、少しずつ開発を進めていきます。
**商品というアメを、雨の恵みのようにあまねく届ける。**
それが、Candy Rain Storeの目指す未来です。
「Candy Rain Store」込める想い
Photo by Wolf Zimmermann on Unsplash