From 177e1d67ffad1e11717d2600f7e5a2784bae5f5b Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Thu, 20 Aug 2015 18:13:55 +0200 Subject: [PATCH] Add a design document for multiple API support --- DESIGN.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 DESIGN.md diff --git a/DESIGN.md b/DESIGN.md new file mode 100644 index 0000000..a096fbd --- /dev/null +++ b/DESIGN.md @@ -0,0 +1,91 @@ +# Design notes + +This document lists a few details needed for designing the right APIs for the different Danbooru implementations. +Unfortunately most of these are laregly incompatible for syntax and URL paths. + +## Konachan.{com,net} - yande.re + +These are the boards originally supported by Danbooru Client. + +Supported (doesn't list what Danbooru Client doesn't need at the moment): + +- posts +- pools[^1] +- tags[^2] +- search by tags +- search by related tags + +Return types: + +- JSON[^3] +- XML + +Structure of a post: + +TODO + +Structure of a tag: + +TODO + +Structure of a pool: + +TODO + + +## Danbooru (danbooru.donmai.us) + +The "original" Danbooru implementation. The API is largely different (mostly REST URL syntax) but functionality is the same, or even better than the Konachan / yande.re Danbooru. + +Supported: + +- TODO + +Return types: + +- JSON +- XML + +Structure of a post: + +TODO + +Structure of a tag: + +TODO + +Structure of a pool: + +TODO + + + +## Gelbooru + +Very limited API. Basically only returns posts. + +Supported: + +- Posts + +Return types: + +- XML + +Structure of a post: + +TODO + +Structure of a tag: + +TODO + +Structure of a pool: + +TODO + + + +[^1]: The service often returns invalid data via JSON, hence it's more reliable via XML +[^2]: No method for fetching tags in batches +[^3]: Tags are returned in the wrong order via JSON, so it's better to use XML \ No newline at end of file