Code Monkey home page Code Monkey logo

animeapi's Introduction

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.

animeapi's People

Contributors

jieverson avatar gitter-badger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.