All Projects → mcfdn → Overwatch Api

mcfdn / Overwatch Api

Licence: bsd-3-clause
A RESTful API for the Overwatch Game

Projects that are alternatives of or similar to Overwatch Api

Laravel Hateoas
Expose the authorization logic of your REST API using HATEOAS links
Stars: ✭ 116 (+3.57%)
Mutual labels:  api, rest-api, laravel
Api Restful Con Laravel Guia Definitiva
Repositorio para el código base del curso "API RESTful con Laravel - Guía Definitiva"
Stars: ✭ 95 (-15.18%)
Mutual labels:  api, rest-api, laravel
Laravel Api Handler
Package providing helper functions for a Laravel REST-API
Stars: ✭ 150 (+33.93%)
Mutual labels:  api, rest-api, laravel
Laravel Api Boilerplate
A Boilerplate Project For Laravel API's (NOT MAINTAINED)
Stars: ✭ 113 (+0.89%)
Mutual labels:  api, rest-api, laravel
Laravel Api Response Builder
Builds nice, normalized and easy to consume Laravel REST API JSON responses.
Stars: ✭ 433 (+286.61%)
Mutual labels:  api, rest-api, laravel
Restful Api With Laravel Definitive Guide
Repository with the base code for the course "RESTful API with Laravel - Definitive-Guide"
Stars: ✭ 156 (+39.29%)
Mutual labels:  api, rest-api, laravel
Laravel Woocommerce
WooCommerce Rest API for Laravel
Stars: ✭ 86 (-23.21%)
Mutual labels:  api, rest-api, laravel
Lumen Microservice
Lumen on Docker - Skeleton project with Nginx, MySQL & PHP 7 | Aws ECS, Google Kubernates, Azure Container Engine
Stars: ✭ 183 (+63.39%)
Mutual labels:  api, rest-api, laravel
Larapi
An API-friendly fork of Laravel. Authentication, error handling, resource filtering, sorting, pagination and much more included
Stars: ✭ 397 (+254.46%)
Mutual labels:  api, rest-api, laravel
Jikan Rest
The REST API for Jikan
Stars: ✭ 200 (+78.57%)
Mutual labels:  api, rest-api, laravel
Binding Of Isaac Api
A RESTful API for the Binding of Isaac game series
Stars: ✭ 11 (-90.18%)
Mutual labels:  api, rest-api, laravel
Laravel Orion
The simplest way to create REST API with Laravel
Stars: ✭ 481 (+329.46%)
Mutual labels:  api, rest-api, laravel
Laravel Compass
A REST client inside your Laravel app
Stars: ✭ 1,002 (+794.64%)
Mutual labels:  api, rest-api, laravel
Laravel Prefixed Ids
Friendly prefixed IDs for Laravel models
Stars: ✭ 88 (-21.43%)
Mutual labels:  api, laravel
Goapitutorial
📚 Building and Testing a REST API in GoLang using Gorilla Mux and MySQL
Stars: ✭ 89 (-20.54%)
Mutual labels:  api, rest-api
Laravel Rest Api
Powerful RestAPI plugin for Laravel
Stars: ✭ 90 (-19.64%)
Mutual labels:  rest-api, laravel
Tiledesk Server
Tiledesk server. Tiledesk is an Open Source Live Chat platform written in NodeJs and MongoDB
Stars: ✭ 94 (-16.07%)
Mutual labels:  api, rest-api
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (-21.43%)
Mutual labels:  api, rest-api
Chi
lightweight, idiomatic and composable router for building Go HTTP services
Stars: ✭ 10,581 (+9347.32%)
Mutual labels:  api, rest-api
Http restful api
整理HTTP后台端的RESTful API方面的知识
Stars: ✭ 94 (-16.07%)
Mutual labels:  api, rest-api

Overwatch API

Build Status StyleCI

Overwatch API Banner

The Overwatch API is a project aiming to make available as much data about Overwatch as possible. It does not concern itself with player data, as made available by other APIs, but instead focuses on base data about the game such as heroes, maps and abilities.

The API is hosted at overwatch-api.net:

> curl https://overwatch-api.net/api/v1/map/9
{  
    "id":9,
    "name":"Route 66",
    "location":"Route 66, United States of America",
    "url":"https://overwatch-api.net/api/v1/map/9",
    "mode":{  
        "id":3,
        "name":"Escort"
    },
    "stages":[  
        {  
            "id":7,
            "name":"Village"
        },
        {  
            "id":8,
            "name":"Shrine"
        },
        {  
            "id":9,
            "name":"Sanctum"
        }
    ],
    "event":null
}

Documentation

Full API documentation can be found at overwatch-api.net/docs/v1. For installation instructions, see below.

Installation

Overwatch API is built with Laravel so, if you're familiar with the framework, the installation and setup should be straight forward. If you've never used Laravel, not to worry - the Laravel documentation is thorough and so it's easy to get started.

It is recommended you run the API in Laravel Homestead, as this will take care of the necessary system dependencies and server configuration.

First clone the repository:

git clone [email protected]:jamesmcfadden/overwatch-api.git

Setup your configuration file:

cd overwatch-api
cp .env.example .env
php artisan key:generate

Install (if required) and run composer to install necessary dependencies:

composer install

If you're not using Laravel Homestead, ensure you point your web server to overwatch-api/public. The document index file is index.php. You'll also need to ensure your web server has read write permissions on the storage folder.

Database Setup

Setup the database using the Laravel Artisan tool from the project root:

php artisan migrate

This will create the database structure, and uses Laravel migrations.

Database Refresh

You'll often need to reset the database before re-importing, otherwise you'll get unique constraint errors from MySQL. To do so, run:

php artisan migrate:refresh

This will revert all migrations and re-run them, effectively wiping your database clean.

Importing Data

The data is stored in CSV format and can be found in resources/data. To import the data, run the following command from the project root:

php artisan import

If you receive an integrity constraint violation error, check you have refreshed your database (see above).

Deploy Script

There's a simple deploy script in the root directory aptly named deploy.sh. This will:

  • Pull the latest changes from the origin master branch;
  • Install the non-development dependencies using composer;
  • Force refresh the database;
  • Import the dataset

This script must be run from the root directory of the project.

Contribution

If you would like to contribute to the project, please follow the steps above to install the project on your system so you can make changes.

Data Contribution

If you would like to make additions or amendments to the project data, please read the following.

Data Format

The data is stored in CSV format to make it easier to import to a database when necessary. When you add or update the data, please ensure you follow the format:

id,name,description,hero_id,reward_id
1,Level 10,Reach level 10.,,30
2,Level 25,Reach level 25.,,40
3,Level 50,Reach level 50.,,39
4,"Achievement with a comma, in the title","Description with ""quotes"" within.",,335

That is:

  • Data files are headed with the associated database column names;
  • Records are separated with a newline character;
  • Record fields are separated with by a comma (,);
  • Text fields with a comma inside should be enclosed in quotes (");
  • Text fields with quotes inside should be escaped with another quote (");
  • Empty fields are treated as null

It is recommended to use spreadsheet software such as OSX's Numbers to write and export CSV files in the expected format.

Submitting Changes

Please open a pull request on GitHub.

License

View the license file here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].