Skip to content

Latest commit

 

History

History
73 lines (48 loc) · 3.54 KB

07-frontend.ja.md

File metadata and controls

73 lines (48 loc) · 3.54 KB

STEP7: Webのフロントエンドを実装する

1. 環境構築

以下からv20のNodeをインストールしてください。 (2024年1月現在20.11.0 LTSを推奨)

https://nodejs.org/en/

複数のバージョンをインストールしたい場合はnvsを推奨します。

node -v を実行して v20.0.0 以上のバージョンが表示されれば正しくインストールできています。

まずはディレクトリに移動して、必要なライブラリをインストールします。

cd typescript/simple-mercari-web
npm ci

以下のコマンドでアプリを起動させた後、ブラウザからhttp://localhost:3000/にアクセスします。

npm start

サーバー(Python/Go)もローカルで立ち上げておきましょう。 このシンプルな画面では、以下の二つのことができるようになっています。

  • 新しい商品の登録 (Listing)
  • 商品の一覧の閲覧 (ItemList)

これらは、それぞれsrc/components/Listingsrc/components/ItemListというコンポーネントによって作られており、App.tsxから呼び出されています。

📌 サンプルコードはReactで書かれていますが、Reactの理解は必須ではありません。

(Optional) 課題1. 新しい商品を登録する

Listingのフォームを使って、新しい商品を登録してみましょう。この画面では、名前、カテゴリ、画像が登録できるようになっています。

STEP3で名前とカテゴリのみで出品をするAPIを作った人は、typescript/simple-mercari-web/src/components/Listing/Listing.tsxを編集して画像のフィールドを削除しておきましょう。

(Optional) 課題2. 各アイテムの画像を表示する

この画面では、商品の画像がBuild@Mercariのロゴになっています。http://localhost:9000/image/<item_id>.jpgを画像として指定し、一覧画面でそれぞれの画像を表示してみましょう。

(Optional) 課題3. HTMLとCSSを使ってスタイルを変更する

この二つのコンポーネントのスタイルは、CSSによって管理されています。

どのような変更が加えられるのかを確認するため、まずItemListコンポーネントのCSSを編集してみましょう。App.cssの中に、この二つのコンポーネントのスタイルが指定されています。ここで指定したスタイルは、classNameというattributeを通じて適用することができます(e.g. <div className='Listing'></div>)。

.Listing {
  ...
}
.ItemList {
  ...
}

CSSだけではなく、各コンポーネントでreturnされているHTMLタグも変更してみましょう。

(Optional) 課題4. アイテム一覧のUIを変更する

現在のItemListでは、それぞれのアイテムが上から一つずつ表示されています。以下のレファレンスを参考に、グリッドを使ってアイテムを表示してみましょう。

📖 References


Next

STEP8: docker-composeでAPIとフロントエンドを動かす