Page MenuHomePhabricator

Create a Swagger specification for the Recommendation API
Closed, ResolvedPublic

Event Timeline

@schana I had a chat with Ellery about this. Whenever you are ready to work on this task, please do so.

leila moved this task from Done to Next Up on the GapFinder board.
leila reopened this task as Open.

@ellery @schana we discussed this task with @schana today in the backlog grooming and based on that discussion and that the two of you are going to talk about it, I moved it to top of the Next Up list. Please give priority to this task this week. We will have a discussion with Ori about it as well, when we meet again this week. Thanks! :)

I'm thinking it may be more useful to design what we want the production API to look like before creating a swagger spec for the current schema. Right now the API is a single path, api/, that takes a variety of parameters and returns

{'articles': [
    {
       'title': title,
       'pageviews': pageviews,
       'wikidata_id': wikidata_id
    } for r in recs
]}

I'm thinking it may be more useful to design what we want the production API to look like before creating a swagger spec for the current schema. Right now the API is a single path, api/, that takes a variety of parameters and returns

{'articles': [
    {
       'title': title,
       'pageviews': pageviews,
       'wikidata_id': wikidata_id
    } for r in recs
]}

We need to make sure that the newly-specified API provides all of the functionality provided by the current API, which is complicated by the fact that the existing API is not specified or described anywhere. If the existing API is simple enough that you are sure you are not omitting anything, it's OK to skip this step.

ori renamed this task from Create a Swagger specification that matches the current API to Create a Swagger specification for the Recommendation API.Jul 21 2016, 5:53 PM

@schana if you are waiting for Ori or Ellery's review, please assign the task to one of them. :)

@ori I sent a collaboration request on github for the project. If you accept, I could assign you to the pull request for review (as I did @ellery)

The branch needs updated to reflect the change in package structure before it can be merged.