├── .gitignore ├── LICENSE ├── PREREQUISITES.md ├── README.md ├── VM.md ├── Vagrantfile ├── implementation ├── .gitignore ├── README.md ├── betterapis │ ├── __init__.py │ ├── __main__.py │ ├── app.py │ ├── cli.py │ ├── controllers │ │ ├── __init__.py │ │ ├── speakers.py │ │ └── talks.py │ ├── models.py │ └── specs │ │ └── betterapis.yaml ├── requirements.in ├── requirements.txt └── setup.py ├── lessons ├── lesson-1.01 │ ├── default_broken.yaml │ ├── echo_broken.yaml │ └── minimal_broken.yaml ├── lesson-1.02 │ ├── example.json │ ├── example.yaml │ └── solution.yaml ├── lesson-1.03 │ ├── example.yaml │ └── solution.yaml ├── lesson-1.04 │ ├── example.yaml │ └── solution.yaml ├── lesson-1.05 │ ├── example.yaml │ ├── lesson-vs-implementation-annotated.patch │ ├── solution-1.yaml │ └── solution-2.yaml ├── lesson-1.06 │ ├── example.yaml │ └── solution.yaml ├── lesson-1.07 │ ├── example.yaml │ └── solution.yaml ├── lesson-1.08 │ ├── example.yaml │ └── solution.yaml ├── lesson-1.09 │ ├── example.yaml │ ├── example_definitions.yaml │ ├── example_parameters.yaml │ ├── example_responses.yaml │ ├── solution.yaml │ ├── solution_definitions.yaml │ ├── solution_parameters.yaml │ └── solution_responses.yaml ├── lesson-2.01 │ └── README.md ├── lesson-2.02 │ └── postman_collection ├── lesson-2.03 │ ├── example.yaml │ └── solution.yaml ├── lesson-2.04 │ ├── dredd.yml │ ├── example.yaml │ └── solution.yaml └── lesson-2.05 │ ├── betterapis_example.yaml │ ├── betterapis_solution.yaml │ ├── models_example.py │ ├── models_solution.py │ ├── postman_collection │ ├── reviews_solution.py │ └── tracks_example.py ├── presentation ├── README.md ├── presentation.html ├── slides.md └── style.css └── work └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant 2 | .idea 3 | 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /PREREQUISITES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/PREREQUISITES.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/README.md -------------------------------------------------------------------------------- /VM.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/VM.md -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/Vagrantfile -------------------------------------------------------------------------------- /implementation/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/.gitignore -------------------------------------------------------------------------------- /implementation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/README.md -------------------------------------------------------------------------------- /implementation/betterapis/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /implementation/betterapis/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/__main__.py -------------------------------------------------------------------------------- /implementation/betterapis/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/app.py -------------------------------------------------------------------------------- /implementation/betterapis/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/cli.py -------------------------------------------------------------------------------- /implementation/betterapis/controllers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/controllers/__init__.py -------------------------------------------------------------------------------- /implementation/betterapis/controllers/speakers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/controllers/speakers.py -------------------------------------------------------------------------------- /implementation/betterapis/controllers/talks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/controllers/talks.py -------------------------------------------------------------------------------- /implementation/betterapis/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/models.py -------------------------------------------------------------------------------- /implementation/betterapis/specs/betterapis.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/betterapis/specs/betterapis.yaml -------------------------------------------------------------------------------- /implementation/requirements.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/requirements.in -------------------------------------------------------------------------------- /implementation/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/requirements.txt -------------------------------------------------------------------------------- /implementation/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/implementation/setup.py -------------------------------------------------------------------------------- /lessons/lesson-1.01/default_broken.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.01/default_broken.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.01/echo_broken.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.01/echo_broken.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.01/minimal_broken.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.01/minimal_broken.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.02/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.02/example.json -------------------------------------------------------------------------------- /lessons/lesson-1.02/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.02/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.02/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.02/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.03/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.03/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.03/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.03/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.04/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.04/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.04/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.04/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.05/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.05/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.05/lesson-vs-implementation-annotated.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.05/lesson-vs-implementation-annotated.patch -------------------------------------------------------------------------------- /lessons/lesson-1.05/solution-1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.05/solution-1.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.05/solution-2.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.05/solution-2.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.06/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.06/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.06/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.06/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.07/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.07/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.07/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.07/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.08/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.08/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.08/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.08/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/example_definitions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/example_definitions.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/example_parameters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/example_parameters.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/example_responses.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/example_responses.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/solution_definitions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/solution_definitions.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/solution_parameters.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/solution_parameters.yaml -------------------------------------------------------------------------------- /lessons/lesson-1.09/solution_responses.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-1.09/solution_responses.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.01/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.01/README.md -------------------------------------------------------------------------------- /lessons/lesson-2.02/postman_collection: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.02/postman_collection -------------------------------------------------------------------------------- /lessons/lesson-2.03/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.03/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.03/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.03/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.04/dredd.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.04/dredd.yml -------------------------------------------------------------------------------- /lessons/lesson-2.04/example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.04/example.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.04/solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.04/solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.05/betterapis_example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/betterapis_example.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.05/betterapis_solution.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/betterapis_solution.yaml -------------------------------------------------------------------------------- /lessons/lesson-2.05/models_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/models_example.py -------------------------------------------------------------------------------- /lessons/lesson-2.05/models_solution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/models_solution.py -------------------------------------------------------------------------------- /lessons/lesson-2.05/postman_collection: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/postman_collection -------------------------------------------------------------------------------- /lessons/lesson-2.05/reviews_solution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/reviews_solution.py -------------------------------------------------------------------------------- /lessons/lesson-2.05/tracks_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/lessons/lesson-2.05/tracks_example.py -------------------------------------------------------------------------------- /presentation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/presentation/README.md -------------------------------------------------------------------------------- /presentation/presentation.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/presentation/presentation.html -------------------------------------------------------------------------------- /presentation/slides.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/presentation/slides.md -------------------------------------------------------------------------------- /presentation/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/presentation/style.css -------------------------------------------------------------------------------- /work/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tylerdave/OpenAPI-Tutorial/HEAD/work/README.md --------------------------------------------------------------------------------