Hellow Neko ist ein Herzensprojekt und mein größtes und ältestes Projekt. Es get darum, Bilder von Anime-Catgirls, sowohl SFW als auch NSFW, zu sammeln, zu labeln und anzuzeigen. Meine neusten Pläne sind eine Suchmaschine für Catgirls zu erstellen.
Im grunde habe ich den groben Aufbau von Hellow Neko schon bei dem Tech-Stack erläutert. Jedoch ist es sinnvoll noch einmal auf die Datenbank und auf die API einzugehen.
In dieser Datenbank gibt es 3 Tabellen:
image
:
In dieser Tabelle werden alle daten für die Bilder gespeichert. Dazu gehört die id
,
die url, ein boolean, ob dieses Bild SFW oder NSFW ist, und wenn vorhanden den Text auf dem
Bild.
tag
:
In dieser Tabelle werden alle Tags gespeichert. Dazu gehört die id
,
der Name des Tags geplant ist auch eine Beschreibung des Tags.
image_tag
:
In dieser Tabelle werden alle Verbindungen zwischen Bildern und Tags gespeichert. Dazu gehört die id
,
die image_id
und die tag_id
. Dies ist eine many to many Verbindung bzw. n-m Verbindung.
Die API hat eine base-url: https://ln.topdf.de/HellowNekoNew/api/. Von dieser aus gibt es verschiedene Endpoints. Es gibt die Endpoints bei denen man Informationen zu Bildern und die bei denen man informationen über Tags bekommen kann.
Es gibt verschiedene url parameter, die man an Endpoints für Bilder dranhängen kann:
?sfw=1
: Hier kann man alle bilder die NSFW sind herausfiltern.?image_id=69
: Hier gibt man die id des Bildes an, von den man Daten will.?tag_id=8
: Hier gibt man die id des tags an, von den man Daten eines zufälligen Bildes will.?tag_name=cute
: Hier gibt man den Namen des tags an, von den man Daten eines zufälligen Bildes will. Dies sollte aber im großen Stil schlechter sein, als die tag_id anzugeben.Die verschiedenen Endpoints:
/image.php
: Hiermit bekommt man alle Daten eines Bildes./image_data.php
: Hiermit bekommt man alle Daten eines Bildes außer die Tags (dies könnte aus performance Gründen hilfreich sein)./image_data.php
: Hiermit bekommt man nur die Tags eines Bildes (dies ist nur hilfreich, wenn man vorher die tags nicht bekommen hat).Eine wichtige nebennotiz ist, das man nicht alle Bilder von einem Tag auf einmal herunterladen kann.
url parameter:
?tag_name=cute
: Beschreibt den tag Namen, von dem man Daten will.?tag_id=8
: Beschreibt die Tag id, von der man Daten willEndpoints:
/tag.php
: Gibt die Daten eines spezifizierten Bildes zurück./all_tag.php
: Gibt die Daten von allen Tags zurück.Dies waren die meisten Funktionen der API. Ein paar Details habe ich ausgelassen, dafür kann man sich aber auch gerne die Dokumentation ansehen.