LoginSignup
2
2

More than 5 years have passed since last update.

Node.js で小規模なアプリケーションを開発する方法 その7

Posted at

はじめに

今回の投稿では全体の作業の流れと、それぞれの作業でどんなことをやるかの作業詳細について解説します。本来その1でやる内容なのですが、計画不足ですみません。

全体の流れ

全体の流れへ下記の通りです、なお既に仕様は確定しているものと仮定します。

  • staticのセットアップ(済み)
  • appのセットアップ(済み)
  • HTMLのルーティング(済み)
  • ページ仮作成
  • appのモデル作成(済み)
  • テストデータ作成(済み)
  • APIのルーティング
  • APIの仮組み
  • staticのモデル作成
  • セッションと認証管理の設定
  • ページ作成

ページ仮作成を飛ばしてしまっていました、次回のその8ではViewの実装をやろうと思います。

staticのセットアップ

staticのセットアップではwebpack-dev-serverなどをインストールし、クライアントサイドのJavaScriptのコーディングがスムースになるようにします。

  • webpack_dev_server, nodemon, gulp のインストール
  • gulpfile.js の追加
  • webpack.config.js の追加
  • package.json の編集
  • HTML5 Boilerplate からファイルをコピー
  • src/entry.js の追加
  • .gitignore の追加

appのセットアップ

appのセットアップではexpressなどのインストールとサーバ起動のスクリプト追加などにより、開発が開始できるようにします。

  • express, proxy-middleware, serve-static, morgan, jade のインストール
  • 開発用にnodemon のインストール
  • index.jsの追加
  • bin/wwwの追加
  • package.jsonの編集
  • routes/pages.jsの追加
  • views/layouts/default.jadeの追加
  • views/pages/anonymous-home.jadeの追加

HTMLのルーティング

HTMLのルーティングでは次の作業であるページ仮作成で作成されるページをどのURLに配置するを設定します。

  • index.jsの編集
  • routes/projects.js などの追加
  • views/projects/admin-list.jade などの追加
  • views/layouts/2-column/admin.jade などの追加

ページ仮作成

ページ作成ではモックアップを作成します。何かとモックアップを作ると、どんなものが必要なのかが見えてくるので便利だなーと、自分は忘れっぽいので重宝しています。

  • views/projects/admin-list.jade などの編集

appのモデル作成

データベースに格納されるデータを設計します。

  • sequelize, sqlite3, mysql をインストール
  • 開発用に sequelize-cli をインストール
  • sequelize initmodels/index.js を追加
  • models/project.js などの追加
  • data ディレクトリの作成

テストデータ作成

テストデータがあった方が動作確認が楽なのでテストデータを作成します。

  • test/fixture/index.js の追加
  • test/fixture/projects.js などの追加
  • bin/sync の追加

APIのルーティング

次の作業のAPIの仮組みで作成するAPIをどのURLに配置するかを設定します。

  • index.js の編集
  • routes/projects.js などの編集

APIの仮組み

リソースに対するGET, POST, PUT, DELETEなど基本的なREST APIを実装します。

  • routes/projects.js などの編集

staticのモデル作成

フォームではValidationが必要になることが多いですが、これをクライアントサイド側だけでやりたいので、staticのモデルを作成します。

  • static/src/models/project.js などの追加
  • static/src/entry.js の編集

セッションと認証管理の設定

ユーザのIDがないと保存できないテーブルなどもありますので、この段階でセッションを設定し、認証管理を行えるようにします。

  • express-session, connect-redis のインストール
  • app/index.js の編集

ページ作成

個々のページを実装していきます、だいたいが下記の繰り返しです。

  • Viewの編集
  • APIの追加と変更
  • Routerの追加・編集
  • Componentの作成

Componentとはクライアントサイドで使用するパーツのことを指しています。HTMLのWeb Componentと概念が近く、私が勝手にそう呼んでいます。

おわりに

これまで無計画に進めてしまって読みづらい記事になってしまって恐縮ですが、これからはもう少し計画的に記事を書いていこうと思います。

次回は飛ばしてしまった作業である「ページ仮作成」についてご紹介します。

2
2
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
2
2