Skip to content

Instantly share code, notes, and snippets.

@Requinard
Last active July 25, 2017 13:00
Show Gist options
  • Save Requinard/186a22c3578ebd2bd7c1ad460c4ac114 to your computer and use it in GitHub Desktop.
Save Requinard/186a22c3578ebd2bd7c1ad460c4ac114 to your computer and use it in GitHub Desktop.
EF API spec

Eurofurence API Spec

V1

Goals

  • Allow all applications to find views through a single string (URL)
  • Make sure these URLs are interchangable between platforms
  • Make these URLs sane to reason about

Rules

  • URLs start with a keyword
  • This keyword is singular (event vs events, dealer vs dealers)
  • parameters in this spec are put between curly brackets, with an identifier ({uid})
  • URLs are closed with a last slash (/event/awddadwaadw/ vs /event/adawddaw)
  • URLs start with a slah, denoting ROOT
  • A URL consists of a type, noted in the first group (/event/dwadw/ means an event type)
  • If no other items are present, a list should be displayed (/event/ shows the list of events)
  • If other items are present, navigation to that itemsis required (/event/dwadwad/ should navigate to the event with said uid)
  • Filters can be applied by appending parameters to the url (/event/?filterType=room or /event/?day={day id})

Defined urls

url what is should open applicable filters
/ open the home screen none
/event/ show an event list none
/event/{uid}/ show an event item none
/dealer/ show the list of dealers none
/dealer/{uid}/ show a specific dealer none
/info/ show the list of infoGroups and infoItems none
/info/{uid}/ show a specific info item none
/login/ open the login screen none
/message/ open the messages screen none
/message/{uid]/ open a specific message from the messages screen none
/fursuit/ open the fursuit games page none
/fursuit/{token}/ collect a fursuit games token none
/map/ show the map listing none
/map/{mapId}?link={linkId} Show a specific map id id of a link item to zoom in on
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment