Skip to content
This repository was archived by the owner on Dec 1, 2022. It is now read-only.

v0.6.0 - 6/1/18

Choose a tag to compare

@Frannsoft Frannsoft released this 07 Feb 19:24
619edd8

FrannHammer API version 0.6.0+ - Major Changes - 6/1/18

This documentation has been ported from a previous wiki page

Test out the current version here! Swagger Docs

TL;DR

  • Can now get unique properties of a character back (e.g., Cloud's frame data with Limit)
  • Support for unique properties includes ability to scrape data outside of KuroganeHammer.com via Pull Requests
  • Now using MongoDb instead of Sql Server as a datastore
  • Custom response objects via fields in request url are deprecated
  • Responses now contain Hypermedia links
  • Hosted on Azure

Full project details here if you're interested - https://github.com/Frannsoft/FrannHammer/projects/1

It's been long time coming, but v0.6.0 is finally here. There are a ton of structural changes as well a slew of new features in this release. The tech stack and infrastructure has changed as well. This release has involved learning several technologies I've wanted to check out for a while and the problems I wanted to address in the API coincided with learning them.

It will still be a bit of time before this is merged into master since the changes are large.

Unique Character Properties:

Up until this release, the API had no ability to accommodate the unique properties of characters since they are all non-standard formats when compared with the rest of the moves and attributes for characters. An example of this would be Cloud's Limit Break info (Table labeled 'Limit Break' on Cloud's KH page).

The API can now handle storing this data. Right now, only Cloud's Limit Break data is stored, but I'll be adding in more of these tables as time goes on.

This also means data outside of KuroganeHammer.com can be stored and retrieved via the API. Pull Requests are welcome!

For an example of what this entails take a look at LimitBreakScraper and IUniqueDataScraper (C#). I'll follow up shortly with another post explaining this process in more detail. Feel free to ping me on twitter (@ FrannDotExe) or email me (address in my profile) in you have questions.

Current live Deployment:

http://beta-api-kuroganehammer.azurewebsites.net/api

Yes, that name is hideously long and annoying. It is also free!

I'm currently trying out Azure and if all goes well I will most likely move the production build to Azure as well. I get a lot more analytics and can respond to feedback much more quickly using Azure over the current host. Along with that, the current server has had a few issues crop up randomly that cause the API to malfunction (e.g., unplanned restarts with Sql Server not starting post-reboot).

Also, the database is now hosted by mLab. I've switched from Sql Server and Entity Framework to MongoDb with the C# driver. Storing data as documents rather than in tables of relational data increase flexibility a ton and was a major factor in enabling support for unique properties on characters.

The README file will be updated with info pointing to the beta deployment as well as keeping the existing master deployment people will use most often.

Hypermedia Support:

You'll notice a new property in response objects named Links. This contains endpoints for additional information around the resource you requested, hopefully making it easier to 'discover' other features as well as maintain them in your app. For more information on hypermedia APIs and HATEOAS take a look here.

Here's an example: http://beta-api-kuroganehammer.azurewebsites.net/api/characters/name/greninja (note: You might need to prettify this to make it a bit more readable)