hook up UI to "syncer": request book info from Douban API and store result in db