HummingBirdAnimeClient/README.md

105 lines
3.0 KiB
Markdown
Raw Normal View History

2015-06-16 11:33:06 -04:00
# Hummingbird Anime Client
A self-hosted client that allows custom formatting of data from the hummingbird api
2016-01-08 11:40:24 -05:00
[![Build Status](https://travis-ci.org/timw4mail/HummingBirdAnimeClient.svg?branch=master)](https://travis-ci.org/timw4mail/HummingBirdAnimeClient)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/timw4mail/HummingBirdAnimeClient/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/timw4mail/HummingBirdAnimeClient/?branch=master)
2015-06-25 17:05:58 -04:00
2015-11-18 16:03:40 -05:00
[[Hosted Example](https://list.timshomepage.net)]
2015-06-16 11:33:06 -04:00
## Features
* Anime List views (Each with list and cover views):
2015-06-16 11:33:06 -04:00
* Watching
* Plan to Watch
* On Hold
* Dropped
2015-11-18 16:03:40 -05:00
* Completed
2016-01-08 11:40:24 -05:00
* Combined View
2015-11-18 16:03:40 -05:00
* Manga List views (Each with list and cover views):
2015-06-16 11:33:06 -04:00
* Reading
* Plan to Read
* On Hold
* Dropped
* Completed
2016-01-08 11:40:24 -05:00
* Combined View
2015-11-18 16:03:40 -05:00
2015-06-16 11:33:06 -04:00
* Anime collection view (segmented by media type):
* Cover Images
* Table List
2015-11-18 16:03:40 -05:00
2015-06-16 11:33:06 -04:00
### Requirements
* PHP 5.5+
2016-04-19 13:24:21 -04:00
* PDO SQLite or PDO PostgreSQL (For collection tab)
* GD
2016-04-19 13:24:21 -04:00
* Redis and PHP Redis extension (optional, for caching)
2015-06-16 11:33:06 -04:00
### Installation
1. Install via composer: `composer create-project timw4mail/hummingbird-anime-client`
2016-04-19 13:24:21 -04:00
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
2016-02-02 11:34:03 -05:00
* public/js/cache
2015-06-25 17:05:58 -04:00
* public/images/manga
* public/images/anime
2016-04-19 13:24:21 -04:00
5. Make sure the `console` script is executable
6. To batch-create image thumbnails, run `console cache-images`.
### Server Setup
2016-04-19 13:24:21 -04:00
#### Caching
To setup API caching, choose a caching method:
* Database
1. Follow the instructions for the Anime Collection setup below.
2. Set `cache_driver` in `app/config/config.toml` to 'SQLDriver'
* Redis
1. Copy `app/redis.toml.example` to `app/redis.toml`, and edit to match your setup.
2. Set `cache_driver` in `app/config/config.toml` to 'RedisDriver'
#### nginx
Basic nginx setup
```nginx
server {
location / {
try_files $uri $uri/ /index.php$uri?$args;
}
2016-02-09 21:42:56 -05:00
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:
2015-11-18 16:03:40 -05:00
1. Login
2. Use the form to select your media
3. Save & Repeat as needed
* For bulk importing anime:
1. Find the anime you are looking for on the hummingbird search api page: `https://hummingbird.me/api/v1/search/anime?query=`
2. Create an `import.json` file in the root of the app, with an array of objects from the search page that you want to import
3. Go to the anime collection tab, and the import will be run