SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
Open-sourcing JavaScript
at the City of Amsterdam
All Things Open 2019, Raleigh N.C.
@gethackteam
Who is this for?
@gethackteam
A little bit about
myself first…
@gethackteam
Roy Derks
@gethackteam
@gethackteam
Amsterdam?
@gethackteam
- Since 1275
- Population: 860,000
@gethackteam
Not in the U.S.!
@gethackteam
@gethackteam
± 4000 miles
@gethackteam
We’re known for…
@gethackteam
@gethackteam
@gethackteam
But we also do tech!
@gethackteam
In 2017, approximately 60,000 people
were employed by more than 1,000
technology companies in Amsterdam,
representing 11% of the total
Amsterdam labour market.
@gethackteam
In 2017, approximately 60,000 people
were employed by more than 1,000
technology companies in Amsterdam,
representing 11% of the total
Amsterdam labour market.
@gethackteam
In 2017, approximately 60,000 people
were employed by more than 1,000
technology companies in Amsterdam,
representing 11% of the total
Amsterdam labour market.
@gethackteam
Even at our local
government
@gethackteam
@gethackteam
- “DataPunt”
- Since 2015
- 85 people strong
- 8 scrum teams
@gethackteam
@gethackteam
We’re developing projects for
civil servants, researchers,
and civilians
@gethackteam
data
information
knowledge
@gethackteam
Or based on problems the city
is facing
@gethackteam
@gethackteam
@gethackteam
@gethackteam
How to solve this?
@gethackteam
@gethackteam
But also technology !
@gethackteam
@gethackteam
“Signalen”
- > 200,000 alerts a year

- Serves ± 800 civil-servants
@gethackteam
And everything is open!
@gethackteam
Why?
- Collaboration

- Reusability

- Transparency

- …
Find out more at https://amsterdam.github.io
@gethackteam
Also, we follow European
guidelines for open standards
@gethackteam
What I’m working on:
@gethackteam
@gethackteam
Portal that combines (almost)
all open data of the city
@gethackteam
“City Data / Atlas”
- > 65,000 views a month

- > 17,000 visitors a month

- Incl. ± 2,000 civil-servants
We’re using the over 35 APIs we also open-sourced!
@gethackteam
It has a long history
@gethackteam
@gethackteam
And it looked like this:
@gethackteam
First version
@gethackteam
Current
@gethackteam
Soon
@gethackteam
Improving the application’s
reusability, because:
@gethackteam
@gethackteam
How are we doing this?
@gethackteam
Abstracting UI and logic
@gethackteam
By creating a UI library
@gethackteam
UI library
@gethackteam
That was actually our first
npm package 🎉
@gethackteam
“Amsterdam Styled
Components”
- Monorepo (3 packages)

- Used by all new projects in
our department
@gethackteam
However, it's challenging to get
the entire city on board
@gethackteam
1. Every project setup is
different
2. The Design System is still in
development
3. Some projects are created
externally
@gethackteam
+ many more
@gethackteam
1. Every project setup is
different
2. The Design System is still in
development
3. Some projects are created
externally
@gethackteam
@gethackteam
1. Every project setup is
different
2. The Design System is still in
development
3. Some projects are created
externally
@gethackteam
We also separated our
analytics logic
@gethackteam
“Matomo Tracker”
- Monorepo (2 packages)

- Used by all new projects in
our department
@gethackteam
What’s next?
@gethackteam
+ many more
@gethackteam
A map based on open
standards and libraries
@gethackteam
The kickoff will be an
internal “hackathon”
@gethackteam
Are we the only one
doing this?
@gethackteam
SCORE Project
9 European cities, 15 partners
@gethackteam
“IoT Registry”
- Developed together with
SCORE partners
@gethackteam
Want to learn more?
Want to learn more?
Search: Roy Derks@gethackteam
https://amsterdam.github.io
https://github.com/amsterdam
https://npmjs.com/org/datapunt

Más contenido relacionado

Similar a Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019

Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Databricks
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Christian Heilmann
 

Similar a Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019 (20)

INTERFACE by apidays_GrapqhQL for cities by Roy Derks
INTERFACE by apidays_GrapqhQL for cities by Roy DerksINTERFACE by apidays_GrapqhQL for cities by Roy Derks
INTERFACE by apidays_GrapqhQL for cities by Roy Derks
 
Is this "thing" connected?
Is this "thing" connected?Is this "thing" connected?
Is this "thing" connected?
 
Back to the future - Future Proof IT 2017
Back to the future - Future Proof IT 2017Back to the future - Future Proof IT 2017
Back to the future - Future Proof IT 2017
 
Better service through business design
Better service through business designBetter service through business design
Better service through business design
 
NUS-ISS Learning Day 2017 - Do You Want to Design A Great Mobile App?
NUS-ISS Learning Day 2017 - Do You Want to Design A Great Mobile App?NUS-ISS Learning Day 2017 - Do You Want to Design A Great Mobile App?
NUS-ISS Learning Day 2017 - Do You Want to Design A Great Mobile App?
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
Web Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React AlicanteWeb Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React Alicante
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
 
Juraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CV
 
VSSML18. Machine Learning for ICOs
VSSML18. Machine Learning for ICOsVSSML18. Machine Learning for ICOs
VSSML18. Machine Learning for ICOs
 
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
 
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
 
Microsoft Graph – Subscription API
Microsoft Graph – Subscription APIMicrosoft Graph – Subscription API
Microsoft Graph – Subscription API
 
Adaptivity - Djoann Fal, Co-Founder, GetLinks Inc
Adaptivity - Djoann Fal, Co-Founder, GetLinks Inc Adaptivity - Djoann Fal, Co-Founder, GetLinks Inc
Adaptivity - Djoann Fal, Co-Founder, GetLinks Inc
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Robots and AI - the calm before the Singularity
Robots and AI - the calm before the SingularityRobots and AI - the calm before the Singularity
Robots and AI - the calm before the Singularity
 
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
 
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday sessionCitizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
 
Smart Cities of Italy: Integrating the Cyber World with the IoT
Smart Cities of Italy: Integrating the Cyber World with the IoTSmart Cities of Italy: Integrating the Cyber World with the IoT
Smart Cities of Italy: Integrating the Cyber World with the IoT
 

Más de Roy Derks

Más de Roy Derks (17)

Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
 
Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022
 
Workshop State-management in React with Context and Hooks
Workshop State-management in React with Context and HooksWorkshop State-management in React with Context and Hooks
Workshop State-management in React with Context and Hooks
 
GraphQL Authentication
GraphQL AuthenticationGraphQL Authentication
GraphQL Authentication
 
GraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveGraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer Love
 
Wrapping and Securing REST APIs with GraphQL
Wrapping and Securing REST APIs with GraphQLWrapping and Securing REST APIs with GraphQL
Wrapping and Securing REST APIs with GraphQL
 
Testing GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred PercentTesting GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred Percent
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
 
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy DerksWe Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
 
JNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloJNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and Apollo
 
Handling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and HooksHandling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and Hooks
 
Wrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQLWrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQL
 
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XMLFrontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
 
Using ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript ProjectUsing ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript Project
 
Boilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-PasteBoilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-Paste
 
GraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLGraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XML
 
Workshop JavaScript ES6+
Workshop JavaScript ES6+Workshop JavaScript ES6+
Workshop JavaScript ES6+
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019