issues
search
paperai
/
materials-schema-web
0
stars
0
forks
source link
開発要件整理
#2
Open
HiroshiAkutsu
opened
2 years ago
HiroshiAkutsu
commented
2 years ago
開発要件整理
下記サイトのようなスキーマ情報を大元となる1つのjsonファイルから生成するweb画面を作成する
https://schema.org/Person
json形式はpropertiesとtypesとに大きく分かれ、それぞれがn対nの関係で相互に参照しあう#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
commented
2 years ago
0820MTG議事録
各TypeのPropertyに紐づくExpectedType(下記Person)にもリンクを張る(プリミティブ型に関しては不要)
Types一覧画面、Properties一覧画面でjavascriptベースで良いので、Type名、Properties名で検索をできるようにする。
一覧画面および各タイプの表は一番左の列の値をアルファベット順でソートして表示する
一覧画面および各タイプの表は一番左の列の値で検索して行が絞り込まれるようにする(検索ボックスをヘッダーに設ける。onblurで絞り込まれるイメージ)。
トップページにtypes一覧画面へのリンクとproperties一覧画面へのリンク、それぞれの件数を表示する。また最終デプロイ日を表示する(下記参考)
@cindy-lo
開発要件整理
github pagesについて
今回のデプロイ環境のターゲットgithub pagesについて長所短所などをまとめました。
pros(長所)
cons(短所)
要件とgithub pagesでの対応方針
今回の要件での一般のWEBアプリケーション開発との比較(差があるところのみ)