Swagger + dAPI = happiness

45
The new way to write a front-end software. - PART 2 -

Transcript of Swagger + dAPI = happiness

Page 1: Swagger + dAPI = happiness

The new way to write a front-end

software.- PART 2 -

Page 2: Swagger + dAPI = happiness

Swagger with dAPIHappy team, fast and predictable development

Page 3: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

Business requirement (new feature)

process

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

Page 4: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

Business requirement (new feature)

process

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

Page 5: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

Business requirement (new feature)

proc

ess

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

0h (start)

10m - 6h

1h - 12h

1h - 12h

1h - 6h

20m - 1h

3.5h - 37h

Page 6: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

Business requirement (new feature)

proc

ess

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

0h (start)

10m - 6h

1h - 12h

1h - 12h

1h - 6h

20m - 1h

3.5h - 37h

Page 7: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

Page 8: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

Page 9: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

Page 10: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

Page 11: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

Page 12: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

working hard

Page 13: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

working hard

Page 14: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

$#%#$ this API is wrong‘please’ add X/Y

sorry please also add X/C

Page 15: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

$#%#$ this API is wrong‘please’ add X/Y

sorry please also add X/C

Page 16: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

$#%#$ this API is wrong‘please’ add X/Y

sorry please also add X/C

working hardnew version of Angular?

hmmm$_@#@!@$%^%ck

FE is done?ok … we will wait you.

Uhh BBC ….

Page 17: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

timeline

back-end

front-end

prepare env

prepare env

coffeeAPI end-points

REST?okkkk …nooooo

oui!of course …

working hardnew version of Laravel?

hmmm$_@#@!@$%^%ck

no API? :(Uhh BBC has a new web site?

IMDB is awesomeI’m the best at P-Pong

$#%#$ this API is wrong‘please’ add X/Y

sorry please also add X/C

working hardnew version of Angular?

hmmm$_@#@!@$%^%ck

FE is done?ok … we will wait you.

Uhh BBC ….

DONE!

Page 18: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

timeline

back-end

front-end

prepare env

prepare env

Page 19: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

timeline

back-end

front-end

prepare env

prepare env

Swagger

Page 20: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

timeline

back-end

front-end

prepare env

prepare env

Swagger

working hardnew version of Laravel?

why this query?

no API? dAPI will help meworking hard

new version of Angular?Webpack or GULP?

Page 21: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

timeline

back-end

front-end

prepare env

prepare env

Swagger

working hardnew version of Laravel?

why this query?

no API? dAPI will help meworking hard

new version of Angular?Webpack or GULP?

DONE!

Page 22: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

timeline

back-end

front-end

prepare env

prepare env

Swagger

working hardnew version of Laravel?

why this query?

no API? dAPI will help meworking hard

new version of Angular?Webpack or GULP?

DONE!ORcoffee

socialisationping-pongunit tests

benchmarkslearning

Page 23: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

SwaggerTHE WORLD'S MOST POPULAR API FRAMEWORK http://swagger.io

Swagger is a powerful open source framework backed by a large ecosystem of tools that helps you design, build, document, and consume your RESTful APIs.

Page 24: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

SwaggerTHE WORLD'S MOST POPULAR API FRAMEWORK http://swagger.io

HOW IT WORKS?If you're an API provider and want to use Swagger to describe your APIs - there are several approaches available:

A top-down approach where you would use the Swagger Editor to create your Swagger definition and then use the integrated Swagger Codegen tools to generate server implementation.

A bottom-up approach where you have an existing REST API for which you want to create a Swagger definition. Either you create the definition manually (using the same Swagger Editor mentioned above), or if you are using one of the supported frameworks (JAX-RS, node.js, etc), you can get the Swagger definition generated automatically for you. If you're doing JAX-RS have a look at the example at https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-JAX-RS-Project-Setup-1.5.X.

> read more on swagger.io <

Page 25: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

A http server that merge requests between a dev server and a swagger file.

Page 26: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

Page 27: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

Page 28: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

200 application/json

Page 29: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

200 application/json

GET /api/feature2

Page 30: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

200 application/json

GET /api/feature2

404 ———————

Page 31: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

200 application/json

GET /api/feature2

404 ———————

BE DEV

Wait FE, this end-point is in progress

Page 32: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

swagger.yaml

Page 33: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

swagger.yaml

Page 34: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

swagger.yaml

GET /api/feature1

Page 35: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

swagger.yaml

GET /api/feature1

200 application/json

Page 36: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature1

swagger.yaml

GET /api/feature1

200 application/json20

0 ap

plic

atio

n/js

on

Page 37: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

Page 38: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

GET /api/feature2

Page 39: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

GET /api/feature2

404

Page 40: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

GET /api/feature2

404

There is this route: /api/feature2 ?

Page 41: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

GET /api/feature2

404

There is this route: /api/feature2 ?

Yes, on GET, you respond with 200 with the following content: {…}

Page 42: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

dApiMY MOST POPULAR APIs COMBINATOR (MOCKS + DEV API)https://github.com/dragosionita/dapi

HOW IT WORKS?

DEV API ServerFront-end APP

GET /api/feature2

swagger.yaml

GET /api/feature2

40420

0 ap

plic

atio

n/js

on

There is this route: /api/feature2 ?

Yes, on GET, you respond with 200 with the following content: {…}

Page 43: Swagger + dAPI = happiness

How it works in general today a "feature development" process?

Business requirement (new feature)

proc

ess

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

0h (start)

10m - 6h

1h - 12h

1h - 12h

1h - 6h

20m - 1h

3.5h - 37h

Page 44: Swagger + dAPI = happiness

How it works a "feature development" process with Swagger + dAPI?

Business requirement (new feature)

proc

ess

PO (prioritisation, resources management, …)

AGILE MANIFESTO - Scrum framework (iteration, tickets, daily stand-up, …)

Back-end development (databases, PHP, Magento, Laravel, API, …)

API tests (manual tests, automatic tests, stress tests, …)

Front-end development (API understanding, Angular, UI/UX, …)

Feature tests (manual tests, automatic tests, stress tests, …)

Business review

DONE

0h (start)

10m - 6h

1h - 12h

1h - 12h

1h - 6h

20m - 1h

3.5h - 37h

1h - 12h

1.5h - 13h

Page 45: Swagger + dAPI = happiness

Thanks for watching!

Ionita Dragos Cristian Business Software Frontend https://www.linkedin.com/in/

dragos-ionita-8ab20756

- and wait for a demo -