Entries

スポンサーサイト

カテゴリ:スポンサー広告
更新日:--------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

BulbwareのToDoモデルを使ってブックマークサービスを作ってみました。

カテゴリ:Bulbware
タグ: 超高速開発 
更新日:2013-09-10
昨日公開したサービスは、BulbwareのToDoモデルで作っています。

> #enchantMOON シールをダウンロードするためのブックマークサービスを作りました - fintopo

Bulbwareというのは、Webアプリケーション開発用のライブラリ/フレームワークと呼んでいますが、まぁ、将来の目標で、今のところ「データモデル付きのライブラリ」というところでしょうか。そのデータモデルも、まだToDoモデルしか無いんですけど。

> Bulbware: Application Library & Framework

ToDoモデルと呼んでいるのは、最初に作ったサンプルがToDoだったからというだけで、実際にはいろいろと使いまわせると考えています。たぶん、トポロジーの問題だと思うのですが・・・で、そのあたりを実証するために、ToDoではないアプリを作ってみたわけです。

ToDoモデルは次のような構造をしています。

> Bulbware ToDoモデル ER図

Bulbware ToDoモデル ER図


単純ですね。で、これをブックマークサービスでは、次のように使っています。

> TodoProject
app_namebookmarks
nameenchantMoon
options未使用
tags未使用

TodoProjectは、enchantMOON用に一つ作ります。これはユーザーごとに作成されます。

> TodoTask
app_namebookmarks
nameURL
optionsタイトルとメモ欄をJSON化して保存する
tagsシール用には「system:seal」、記事用には「system:article」を登録する
start_datetime登録日時
due_datetime未使用
completed公開フラグ

ブックマークの本体は、TodoTaskに登録します。

> ブックマークの情報には、タイトル、URL(アドレス)、メモがあります。nameにはアドレスを登録して、それ以外の情報はJSON化してoptionsに入れます。
> completedは、ToDoでは完了フラグですが、公開ページに表示するためのフラグに使用しています。
> tagsにブックマークの種類を設定することで、公開ページではシールのみを表示できるようにしました。

nameにタイトルではなくアドレスを入れたのは、将来的に重複の排除をするためです。ブックマークの登録がユーザーごとになるため、それを集めて公開ページで表示する時に重複が発生することが考えられるためです。どのように処理するかは、まだ決めていませんが、nameに入れておけば、サーバー側でも処理がやりやすくなるという点もあります。

このあたりは、本来ならば構想中のBBSモデルを使うべきだったかもしれませんが、BBSモデルは、まだ実装がないのと、今回は一日で公開まで持っていくのが目標でしたので妥協しています。まぁ、先々問題になるかもしれませんが、その時に考えます。(トポロジー変換も考えておく必要があるかなぁ、とも・・・)

ちなみに、作ろうと思って公開するまでにかかった時間は、記録では23ポモドーロ(およそ12時間。2日)になります。これにはenchantMOONのシールを作る時間も含まれています。このうち、作り始めてから、とりあえずブックマークの登録、編集、一覧表示ができるようになるまでに6ポモドーロ(3時間)かかりました。一から作ると、ここまで持ってくるまでが大変なので、Bulbwareの一定の成果はあったかなぁ、と思っています。

まぁ、感覚的には、このくらいのものであれば、ここは1時間くらいにしたいところですが、まだ実装上の不備とか、手順が定まっていないとか、まぁ、問題山積みです。このあたりは、今後の課題としましょう。

> Bulbware: Application Library & Framework
スポンサーサイト

Appendix

プロフィール

いむら@fintopo いむら@fintopo

ガーデニングが趣味のフリーのシステムエンジニア兼プログラマ(フルスタックエンジニア)です。

仕事募集中です。個人なので、融通がききます。 大規模な開発はできないかもしれませんが、研究や製品開発レベルでの小規模開発、特に相談しながら新しいものを作っていくのが得意です。詳しくはWebサイトをご覧ください。
詳しくは「fintopoとは」をご覧ください。

> fintopoとは

このページのQRコード

季節暦

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。