Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

開発要件整理 #2

Open
HiroshiAkutsu opened this issue Aug 12, 2021 · 1 comment
Open

開発要件整理 #2

HiroshiAkutsu opened this issue Aug 12, 2021 · 1 comment

Comments

@HiroshiAkutsu
Copy link
Collaborator

開発要件整理

  • 下記サイトのようなスキーマ情報を大元となる1つのjsonファイルから生成するweb画面を作成する
    https://schema.org/Person
  • json形式はpropertiesとtypesとに大きく分かれ、それぞれがn対nの関係で相互に参照しあうformat #1
  • json形式には階層構造はないものとする
  • RESTful APIを設ける(GETのみ、インターフェース定義未定)
  • 大元jsonをgit管理下に置く(リリース後頻繁に更新はされない前提)
  • 要件を満たすようであればgithub pagesを利用する
  • schema.orgのサイト程度にテーブル等の見た目をデザインする(凝る必要はない)

github pagesについて

今回のデプロイ環境のターゲットgithub pagesについて長所短所などをまとめました。

pros(長所)

  • 無料で使える
  • 独自ドメインが使える
  • github actionsと組み合わせて簡易的なbuild&deploy可能
  • html css javascript等静的なコンテンツが配布可能

cons(短所)

  • DB等動的コンテンツの生成ができない
  • レスポンスhttpヘッダーのカスタマイズができない

要件とgithub pagesでの対応方針

要件 github pages
HTML生成 github actionsにてbuild時にscript実行し静的htmlを大量生成する
API HTML生成と同様、あらかじめjsonを大量生成する(ただし、API用のサービスではないのでhttpレスポンスヘッダはapplication/jsonにはならない、またandやor等複雑な検索クエリには対応できないなどの制約がある)

今回の要件での一般のWEBアプリケーション開発との比較(差があるところのみ)

内容 github pages vps(aws Lightsail等)やec2等
デプロイ環境コスト 〇無料 ×有料(月額1000円程~)
HTML生成 △静的htmlを大量に生成(gitが汚れる) 〇動的生成
レスポンスヘッダ ×HTTPHeaderが自由にできない 〇HTTPHeaderカスタマイズ可
RestAPI生成 ×予めレスポンスのjsonを生成しておく必要がある 〇動的生成
開発コスト 〇簡単なことしかできないのでシンプル △様々な要件にも対応できる分複雑
セキュリティ ×URLを知っていればアクセス可能 〇様々な制限可能
今後の拡張性 ×あくまで静的なことしかできない 〇将来的に要件が増えた時でも対応可能
@HiroshiAkutsu
Copy link
Collaborator Author

HiroshiAkutsu commented Aug 20, 2021

0820MTG議事録

  • 各TypeのPropertyに紐づくExpectedType(下記Person)にもリンクを張る(プリミティブ型に関しては不要)
    image
  • Types一覧画面、Properties一覧画面でjavascriptベースで良いので、Type名、Properties名で検索をできるようにする。
  • 一覧画面および各タイプの表は一番左の列の値をアルファベット順でソートして表示する
  • 一覧画面および各タイプの表は一番左の列の値で検索して行が絞り込まれるようにする(検索ボックスをヘッダーに設ける。onblurで絞り込まれるイメージ)。
  • トップページにtypes一覧画面へのリンクとproperties一覧画面へのリンク、それぞれの件数を表示する。また最終デプロイ日を表示する(下記参考)
    image

@cindy-lo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant