API client for Kitsu.io, with optional Anime collection, and optional Anilist syncing.
Go to file
2017-02-15 09:30:27 -05:00
app Add hummingbird favicon 2017-02-14 16:23:18 -05:00
build Attempt to use alpine php image 2017-02-15 09:21:08 -05:00
migrations Ugly progress commit 2016-12-20 12:58:37 -05:00
public Split user config from application config 2017-02-10 15:50:07 -05:00
src Get sync-lists command to create missing entries on MAL 2017-02-14 15:29:13 -05:00
tests Another ugly progress commit 2017-02-08 15:48:20 -05:00
.editorconfig Some progress toward better structure through refactoring 2015-09-14 10:54:50 -04:00
.gitignore Set up mutation testing for unit tests 2016-08-01 14:38:23 -04:00
.gitlab-ci.yml Maybe this will work better? 2017-02-15 09:30:27 -05:00
.htaccess Add basic htaccess file for apache 2016-02-05 14:14:02 -05:00
.travis.yml Attempt to fix hhvm tests 2017-02-10 16:33:42 -05:00
CHANGELOG.md Update changelog 2017-02-06 10:57:38 -05:00
composer.json Another ugly progress commit 2017-02-08 15:48:20 -05:00
console Ugly progress commit 2017-01-27 12:35:28 -05:00
favicon.ico Add hummingbird favicon 2017-02-14 16:23:18 -05:00
humbug.json.dist Set up mutation testing for unit tests 2016-08-01 14:38:23 -04:00
index.php Split user config from application config 2017-02-10 15:50:07 -05:00
LICENSE Add license 2017-01-27 16:34:03 -05:00
phinx.yml Update information on anime collection, and remove sqlite file, which can be created by a database migration 2015-06-16 15:54:10 -04:00
phpdoc.dist.xml Code style fixes to satisfy phpcs 2016-08-30 10:57:41 -04:00
phpunit.xml Really ugly progress commit 2017-01-12 15:41:20 -05:00
README.md Update README 2017-02-06 10:56:27 -05:00
RoboFile.php Update Robofile to work properly 2016-08-30 11:45:17 -04:00

Hummingbird Anime Client

A self-hosted client that allows custom formatting of data from the hummingbird api

Build Status build status coverage report Scrutinizer Code Quality

[Hosted Example]

Features

  • Anime List views (Each with list and cover views):

    • Watching
    • Plan to Watch
    • On Hold
    • Dropped
    • Completed
    • Combined View
  • Manga List views (Each with list and cover views):

    • Reading
    • Plan to Read
    • On Hold
    • Dropped
    • Completed
    • Combined View
  • Anime collection view (segmented by media type):

    • Cover Images
    • Table List

Requirements

  • PHP 7.0+
  • PDO SQLite or PDO PostgreSQL (For collection tab)
  • GD
  • Redis or Memcached for caching

Installation

  1. Install via composer: composer create-project timw4mail/hummingbird-anime-client

or

  1. Install via git, then install dependencies via composer: composer install

  2. Duplicate app/config/*.toml.example files as app/config/*.toml

  3. Configure settings in app/config/config.toml to your liking

  4. Create the following directories if they don't exist, and make sure they are world writable

    • public/js/cache
  5. Make sure the console script is executable

Using MAL API

  1. Update app/config/mal.toml with your username and password
  2. Enable MAL api in app/config/config.toml

Server Setup

Caching

Update app/config/cache.toml based on the instructions here.

nginx

Basic nginx setup

server {
	location / {
		try_files $uri $uri/ /index.php$uri?$args;
	}

	location ~ ^(.+\.php)($|/) {
		fastcgi_split_path_info ^(.+\.php)(.*)$;
		fastcgi_index index.php;
	}

	location ^~ /vendor {
		deny all;
	}
}

Apache

Make sure to have mod_rewrite and AllowOverride All enabled in order to take advantage of the included .htaccess file. If you don't wish to use an .htaccess file, include the contents of the .htaccess file in your Apache configuration.

Anime Collection Additional Installation

  • Run php /vendor/bin/phinx migrate -e development to create the database tables
  • For importing anime:
    1. Login
    2. Use the form to select your media
    3. Save & Repeat as needed