Slide 1

Slide 1 text

26.Apr.2014 AppDays @ Pordenone Google Developer Group http://gdg-perugia.org

Slide 2

Slide 2 text

Massimiliano Pippi Software Developer, Python Lover, Dad. @maxpippi http://github.com/masci http://dev.pippi.im https://evonove.it Who are you?

Slide 3

Slide 3 text

Emanuele Palazzetti Python developer, Android and Javascript lover @palazzem http://github.com/palazzem http://git.palazzetti.me https://evonove.it Who are you?

Slide 4

Slide 4 text

Full­stack developer with Django and AngularJS

Slide 5

Slide 5 text

Full Stack? ‘00: Linux, Apache, MySql, PHP (LAMP) Today: Linux, WSGI, Postgres, Python, SPAs SPA = Single Page Application (JS, Dart)

Slide 6

Slide 6 text

Schedule ● Design and implement a Reddit clone (60min) ● Expose a REST Api for the service (45min) ● Run the service locally (10min) ● Pause (10min) ● Design and implement a SPA with Angular (60min) ● Make the app talk with the service and enjoy (55min)

Slide 7

Slide 7 text

and now for something completely different Let’s Code! https://github.com/Tinkergarage/appdays2014

Slide 8

Slide 8 text

Reddit

Slide 9

Slide 9 text

Business Model Link title (type: text) url (type: url) upvotes (type: int) downvotes (type: int) nsfw (type: boolean)

Slide 10

Slide 10 text

The Router URL Style HTTP Method Action URL Name [.format] GET root view api-root {prefix}/[.format] GET list {basename}-list {prefix}/[.format] POST create {basename}-list {prefix}/{lookup}/[.format] GET retrieve {basename}-detail {prefix}/{lookup}/[.format] PUT update {basename}-detail {prefix}/{lookup}/[.format] PATCH partial_update {basename}-detail {prefix}/{lookup}/[.format] DELETE destroy {basename}-detail {prefix}/{lookup}/{methodname}/[.format] GET @link decorated method {basename}-{methodname} {prefix}/{lookup}/{methodname}/[.format] POST @action decorated method {basename}-{methodname}

Slide 11

Slide 11 text

Design and implement a SPA with Angular Where we can begin?

Slide 12

Slide 12 text

Javascript ninja tools

Slide 13

Slide 13 text

Javascript ninja tools

Slide 14

Slide 14 text

Javascript ninja tools