Add a design document for multiple API support
This commit is contained in:
parent
b8cbb456ef
commit
177e1d67ff
1 changed files with 91 additions and 0 deletions
91
DESIGN.md
Normal file
91
DESIGN.md
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue