Coder Social home page Coder Social logo

api-workshop's Issues

Versioning Presentation

The Version presentation references the API lifecycle from PayPal.
We should include references of MSFT and there standards.

Create a solution

  • Create a solution with auto deployment to Dockerhub
  • Update README with link to solution project

Convert workshop to use Java 11

Java 12 has gone EOL and the workshop images etc are not available for 13.

Suggest we move to use Java 11.

  • Update pre-requisites
  • Update labs

Versioning

Slide title form slide 2 should be changed to what will be covered

Fix Images in Pre-Requisites

https://github.com/jpgough/api-workshop/tree/master/prerequisites#download-springboot-project

  1. Instead of - "The following URL is pre-configured to take you directly to https://start.spring.io and download a zip file containing the project. Just open your browser and enter the URL, the download should begin.",
    It should be:
    "The following URL is pre-configured to take you directly to https://start.spring.io and set the required dependencies to Spring Web and Spring Contract Verifier. Open your browser and enter the URL, and then click on "Generate" to download a zip file containing the project."

  2. Intellij Project Import and Eclipse Project Import images aren't loading.

Get Todos is a Map not a List

In the solution the /todos API returns a Map, which is not a List as specified by the lab. Can we check this for consistency as this will also appear during the contract testing

Spring Boot App @1 - Updates

Couple of notes on the app for the first part of the app.

  • The image to create the app in the spring initialiser show shows 2.1.5 as the release. The current release is 2.1.7
  • The eclipse instructions to bring in JUnit show say JUnit5. 2.1.7 currently brings in JUnit 4 by default so I thing it could lead to miss configuration unless this has been tested?

Improve Swagger diff section

An improvement that was mentioned and would streamline the process for attendees is to make the swagger-diff lab more efficent.

At present it required that the CLI Swagger diff tool is available and this includes having Ruby.
What would be better is to have the java lib from http://deepoove.com/swagger-diff/ available and use this to compare swagger specs

Update Pre-reqs

Add in pre-req details with new links and make docker section optional

Contracts presentation

The images in the presentation that show the Versioned containers/serverices is large and shows 6 of them. This can be made smaller and would provide more clarity. 4 of these containers would be better

Contract Driven Development Feedback

  • a Mixture of examples, Pizza/Google. Should we just center on the todo service? I think that will lead nicer into the lab.
  • It’s not so clear when we are moving between Spring Cloud Contract and pact. I’m wondering if the flow would work better as Producer driven contracts with diagrams, and the technology. Followed by what’s a consumer driven contract and how does that differ with a diagram.
  • Missing conversation on stub server/broker and how that leads to more effective team collaboration

Setup for Windows Home

Windows home has a limitation with the Docker installation.

We need to document any potential work arounds.

API Best Practacies Slides

A new set of slides should be created that can be used to discuss API Best practacies.

This should have some best practacies from MSFT included. It is important to show that that the key part is to take a standard and follow it. This will give you consistancy

Add in further best practacies

Currently the slides on Best Practacies for building API's is an overview.
These points should be expanded upon and explained as attendees will want to know more about these subjects when designing there API's

Lab 3 Images

Lab 3 images need to be updated to the new URL format

CDD slides

  • Typo "Consumers from" on diagram should be "Consumes from"
  • Provider or Producer Contract Development?

Spring Boot Slides Feedback

  • GET is probably easier to start with, as it has less to consider/think about
  • Status codes/status code category ranges could do with a brief coverage e.g. 2xx,4xx,5xx meaning
  • Would be worth covering the DELETE, PUT or at least the meaning behind the methods
  • Query Parameters are not covered, which are important for advanced gets
  • I think we need some coverage/call out on the path structure

Lab 1

In intelliJ select and Open the build.gradle file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.