Skip to content

Code and Docs for QCon Sao Paulo Workshop: "API Design: from goals to deployment"

Notifications You must be signed in to change notification settings

apiacademy/2016-04-qcon-sao-paulo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Design: From Goals to Deployment

Join the chat at https://gitter.im/apiacademy/2016-04-qcon-sao-paulo

Description

What makes Web APIs different than typical component APIs? How can you leverage the power of the Internet when creating your Web API? What characteristics to many "great" Web APIs share? Is there a consistent process you can use to make sure you design a Web API that best fits your needs both now and in the future?

​In this full-day workshop Mike Amundsen and Eder Ignatowicz describe a clear methodology for designing Web APIs, based on his book "RESTful Web APIs", that allows you to map key aspects of your business model into a usable, scalable, and flexible interface that will reach your goals while creating a compelling API for both server and client developers.

​Attendees will first review business use cases, translate them into a list of concrete data and action identifiers, create clear workflow diagrams, and a usable set of API documentation. Then, armed with a details API Design document, attendees will work through a servies of coding exercises based on the DORR Implementation Model (Data, Objects, Resources, Representations). At the end of the workshop, you'll have a completed API designed, coded, and deployed -- up and running.

​Whether you are looking to implement a private, partner, or public API, these principles will help you focus on the right metrics and design goals to create a successful API.

Prerequisites

  • You should be very familiar with NodeJS and JavaScript and have a good understanding of HTTP. Experience with HTML and CSS is a plus, but not required to get the most from the material.
  • You should have access to a running instance of Node and be able to save your exercises and run them locally.
  • Starter Templates and Examples will be shared through Github. You will need to have a github account (or have access to one) to pull the project templates and have basic experience with Git.

Preparation

Attendees will spend most of the day writing code. You should have a comfortable place to work with a working computer loaded with your favorite developer tools.

All code examples will be in "plain Node and Javascript" and will not depend on any libraries or frameworks. Attendees are encouraged to build the assignments without reliance to external libraries/frameworks but you are free to use whatever helps you get the most out of the sessions.

Some background material and starter files will be posted to the Github repo a week before the tutorial starts. Attendees are free to pull the files and review them in preparation for the tutorial day. Throughout the day, portions of the trainer’s code will be posted to Heroku for validation and testing. The ability to access the internet and run those examples will enhance your workshop experience.

Proposed Agenda

Morning Session (9:15 - 13:00)

  • API Design Methodology
    • Slides (15min)
    • API Design Exercise (30min)
  • BREAK (30min)
  • The DORR Implementation Model, Part 1
    • Slides (15min)
    • Data Model Exercise (30min)
    • Slides (15min)
    • Object Model Exercise (30min)

Afternoon Session (14:30 - 18:15)

  • The DORR Implementation Model, Part 2
    • Slides (15min)
    • Resource Model Exercise (30min)
    • Slides (15min)
    • Representation Model Exercise (30min)
  • BREAK (30min)
  • Putting it All Together
    • Teams Show Their Working Demos (30mins)
    • Summary Slides (15min)

About

Code and Docs for QCon Sao Paulo Workshop: "API Design: from goals to deployment"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published