LoginSignup
51
30

【個人開発】コンセプトを味わうコーヒーショップ「珈琲と音楽」をオープンします

Posted at

bandicam_2023-10-29_11-11-14-900.jpg

はじめに

こんにちは、@Sicut_studyです!

コンセプトを味わうコーヒーショップ「 珈琲と音楽 」をリリースしました。
企画の立案からWebサイト構築まで行ったので紹介していきます。

今回はWebサイト構築にフォーカスしてご紹介します。

bandicam_2023-09-02_21-32-22-824.jpg

「珈琲と音楽」 とは

みなさんはコーヒーを普段飲みますでしょうか?
私はコーヒーが好きでよく飲んでいるのですが、コーヒーの話を聞くと多くの方が共通したことを言っていることに気づきました

「コーヒーは苦いもの」
「コーヒーの豆の違いがまったくわからない」

こんな話を聞いているうちに私は思いました

コーヒーの魅力を知らない人がまだまだ多い
美味しいコーヒーを飲む機会がまだまだ日常に少ない
コーヒーの魅力を知ってもらいたい

こんな思いから生まれたのが「珈琲と音楽」です

コーヒー豆などを直接買う人は少ないです。種類が色々あってわかりませんし、どこで買えるかもよくわからないと思います。
やはり何かコーヒーの概念が変わる機会を日常の中に作ることが大切だと思いました。

コンセプトを楽しんでもらって結果的に美味しいコーヒーを飲むような仕組みづくりをしていこう

そこから音楽のジャケットのようなデザイン性のあるドリップコーヒーを作成しました

IMG_2240.jpeg

IMG_0459.jpeg

今回はその公式サイトの技術的な話をメインにします。

Webサイトの構成

珈琲と音楽は以下のアーキテクチャで作成されています。

test.drawio (1).png

開発期間 : 3.5ヶ月
開発人数 : 1人

フロントエンド

フロントエンドはNext.js 13を使っています。

Next.js 13になってAppRouterが使えるようになったということで選定しました。またSEO対策が楽になるのでそこも大きな要因となりました

CSSはTailwindCSS、ホストはfirebaseを利用しています。
実装自体は概ねスムーズに行うことができました

サイトでは2箇所の部分でスライドショーが利用されているのですが、Next.jsで利用するのは少し苦戦しました (途中で動かなくなったり、いまも若干バグることがあります)

image.png

またNext.js 13を初めて触ったのでよく使い勝手がわからずSSRを利用していませんでした。

BFF

学習がてらRustを選択しました
WebフレームワークはAxumを利用しています
テストを書いていてモックするところがなかなか苦戦しました
APIは5つほどの実装だったので他に比べて触ることは少なかったです

デプロイ先はFirebase(GCP)を使っていたので、CloudRunを利用してデプロイしています

メールサーバ

NodeMailerを利用して実装しました。
ライブラリがかなり優秀だったのですぐに実装が終わりました
こちらもCloudRunを利用してデプロイしています。

(いつもお世話になっているshincodeさんの動画で実装しました)

ヘッドレスCMS

今回なるべく早くリリースすることを目指していたので、DBを持たないで済むようにContentfulを利用しました

もともとmicroCMSを利用していたのですが、料金が高かったため乗り換えを途中でしました。
contentfulは大体使い方は同じなのですが、レスポンスが若干複雑になっており使いづらい感じだったのでRustでContentfulクライアントライブラリを作って利用しました

ネットを探した感じではなかったのでcrateを公開する体験もしました

その他

バージョン管理 : Github
開発環境 : Docker, docker-compose
E2E : Kotlin, Gauge, Selenide, Wiremock
ライブラリ : Jest
クリーンアーキテクチャ, TDD

なるべく意識して仕事で開発しているような流れで実装しました

こだわったところ

Webサイトを作成する上でこだわったところを紹介します。
ショップのコンセプト作りなどに関してはまた別の記事でご紹介します。

1. コンセプトを表現するデザイン

コンセプトを味わうコーヒーショップというのをテーマにしているので、デザインがとても大切になります。
実装前にしっかりとサイトのデザインを決めてfigmaで作成をしました

                                           
image.png

figmaの使い方は全然わかっていませんが、自分なりに使ってみました
会社のデザイナーさんがすごいなと改めて思いました
私は実際にpaddingがいくつなどは細かく設定することはしませんでした

2. Webサイトに遊び心をいれる

Webサイトの中に自分なりの楽しくなるような工夫を入れてみました
コーヒー紹介のページではホバーするとレコードが回るようなデザインにしてみました

                                           
1699083491347.gif

こういう工夫が少しあるだけで印象がだいぶ変わるなと感じました
他にもいくつかあるのでぜひサイトをご覧になってください!

3. モバイル対応を行う

多くの方がモバイル端末からサイトを閲覧すると考えたので、モバイル対応を実装と同時に行いました

                                           
bandicam 2023-11-04 17-00-02-923.jpg

現在一部端末や大きなディスプレイなどではレイアウトが崩れてしまっているのでそちらは需要がありそうなものから修正していきたいなと考えています

今回のチャレンジ

今回Webサイトを作成するにあたり以下にチャレンジしました

  • Next.js 13を初めて使った
  • SEO対策をした
  • Contentfulを使った

私は個人開発をする際に何か1つやったことないことにチャレンジするようにしています。

特にSEO対策に関しては以下の書籍を読み、対応したことでいままでまったく気にしていなかったHTMLタグの適切な使い方について学べて成長できました
なにか1つSEO対策に挑戦してみるとかなり学びがあるのでおすすめです

現場のプロから学ぶ SEO技術バイブル

微妙だったところ

SSRを全く使わずにクライアントですべてやってしまいました
Next.jsをあんまり理解せずにやってしまっていたのでそれでサイトが重くなったり、スライダーが変になったりしています。

これを作ってだいぶ立ちましたが、いまはNext.jsもある程度使いこなせるようになりました

次回、衝撃のラスト

次回、「100万円かけて作ったサービスをリリース前に辞めた話」
2024年2月3日公開します。

決断します。お楽しみに。

おわりに

ここまで読んでいただけた方はいいねストックよろしくお願いします。
@Sicut_studyフォローいただけるととてもうれしく思います。

今週もプログラミング頑張りましょう!

jisou-banner.png

2024年個人開発一覧

JISOUのメンバー募集中

プログラミングコーチングJISOUではメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
気になる方はぜひHPからライン登録お願いします!

About Me

Webエンジニア転身して1年間本気で勉強
転職ドラフトで高額オファーを複数獲得
そこでの経験からアウトプットやマインドセットの発信に強みがある
エンジニアをやりながら、起業に挑戦中
アイデア作りやパブリックスピーキングを得意としてる

■ Twitter
https://twitter.com/Sicut_study
■ stand.fm
https://stand.fm/channels/65db27e353b400abe28ec29a
■ Youtube
https://www.youtube.com/channel/UCBFrGAJhPuuaoLwUIHBILsA

■ プログラミングコーチングJISOU
https://projisou.jp
■ 体験で学ぶ!JISOU
https://experience-learn.connpass.com/
■ 登壇依頼などご依頼はこちらから
himaria.jin.watanabe@gmail.com

参考

51
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
30