Skip to content

jieverson/animeapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnimeAPI

status travis gitter license

A free, easy-to-use and open-source RESTful API for Anime Data. It's a javascript API built using node.js and express.js.

Usage

AnimeAPI is going to provide a complete service for requesting anime data.

Here are some examples:

GET /api/anime/Shingeki+no+Kyojin
GET /api/anime/513
{
    "id": 513,
    "title": "Shingeki no Kyojin",
    "title-en": "Attack on Titan",
    "title-jp": "進撃の巨人",
    "picture": "http://cdn.myanimelist.net/images/anime/10/47347.jpg",
    "synopsis": "Centuries ago...",
    "type": "TV",
    "episodes": 25,
    "tags": [ "shounen", "action", "drama", "fantasy" ],
    "released": "2013-04-07",
    "season": "Spring 2013", 
    "characters": [
        {
            "id": 1212,
            "name": "Mikasa Ackerman",
            "name-jp": "ミカサ・アッカーマン",
            "picture": "http://cdn.myanimelist.net/images/characters/9/215563.jpg",
            "age": 15,
            "birthdate": "February 10",
            "height": 170,
            "weight": 68,
            "about": "Mikasa is Eren's adoptive sister and..."
        },
        {
            "id": 1213,
            "name": "Eren Yeager",
            "name-jp": "エレン・イェーガー",
            "picture": "http://cdn.myanimelist.net/images/characters/10/216895.jpg",
            "age": 15,
            "birthdate": "March 30",
            "height": 170,
            "weight": 63,
            "about": "Eren is Shingeki no Kyojin's protagonist. His adoptive sister..."
        }
    ]
}
GET /api/character/Mikasa+Ackerman
GET /api/character/1212
{
    "id": 1212,
    "name": "Mikasa Ackerman",
    "name-jp": "ミカサ・アッカーマン",
    "picture": "http://cdn.myanimelist.net/images/characters/9/215563.jpg",
    "age": 15,
    "birthdate": "February 10",
    "height": 170,
    "weight": 68,
    "about": "Mikasa is Eren's adoptive sister and..."
}
GET /api/season/current
GET /api/season/2013/spring
{
    "name": "Spring 2013",
    "animes": [
        { },
        { },
        { }
    ]
}

Contributing

I'm not sure how far I can get with this project by myself. To make sure the API data is always up-to-date, I will probably need some help of the community.

For who wants to contribute, here are things that are welcome

  • Developing API (current working on it)
  • Helping to keep anime data updated
  • Using other APIs to help us generating our json data
  • Developing bots/crawlers to get anime data from other sites
  • Writing scripts to update mongodb from json files
  • Helping to write tests
  • Making suggestions / opening Issues
  • Using it at other projects

Note: All anime data is going to be versioned here as .json. This will help us to check for data updates at pull requests, and will make sure all data is Open-Source and belongs to community.

Running from Source

Make sure you have Node.js and MongoDB installed.

Then

# Clone this repo
git clone https://github.com/jieverson/animeapi.git
# Go into the repo
cd animeapi
# Make sure you have some global packages
npm install -g grunt-cli
npm install -g nodemon
# Install dependencies
npm install
# Run mongodb
mongod
# Run server at localhost
nodemon

Note: We use NoDemon instead of node for running or server, 'cause it will make your life a lot easier by automatically restarting your node application when files change.

Running Tests

This project uses grunt for running jshint and nodeunit.

# Grunt default task is going to execute jshint and nodeunit
grunt

Running Bots

This bots are scripts that can be used to access other APIs to download data/images, populating MongoDB from our .json files or even crawling websites.

cd bots
node [file_name].js

[EDIT] Phantom.js is not been used here anymore. Maybe in the future.

About

☁️ A RESTful API for Anime Data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published