Enable editing dart-services in Gitpod.io (#502)

diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile
new file mode 100644
index 0000000..55fa184
--- /dev/null
+++ b/.gitpod.Dockerfile
@@ -0,0 +1,18 @@
+FROM gitpod/workspace-full
+
+USER gitpod
+
+# Install custom tools, runtime, etc. using apt-get
+# More information: https://www.gitpod.io/docs/config-docker/
+
+RUN sudo apt-get update && \
+    sudo apt-get install -y apt-transport-https protobuf-compiler redis && \
+    sudo sh -c 'wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -' && \
+    sudo sh -c 'wget -qO- https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list' && \
+    sudo apt-get update && \
+    sudo apt-get install -y dart && \
+    echo "export PATH=\"\$PATH:/usr/lib/dart/bin:\$HOME/.pub-cache/bin\"" >> $HOME/.bashrc && \
+    /usr/lib/dart/bin/pub global activate grinder && \
+    /usr/lib/dart/bin/pub global activate protoc_plugin && \
+    /usr/lib/dart/bin/pub global activate webdev && \
+    sudo rm -rf /var/lib/apt/lists/*
diff --git a/.gitpod.yml b/.gitpod.yml
new file mode 100644
index 0000000..f9fd584
--- /dev/null
+++ b/.gitpod.yml
@@ -0,0 +1,20 @@
+image:
+  file: .gitpod.Dockerfile
+
+# List the ports you want to expose and what to do when they are served. See https://www.gitpod.io/docs/config-ports/
+ports:
+  - port: 8080
+    onOpen: "open-browser"
+  - port: 8082
+    onOpen: "ignore"
+  - port: 9501
+    onOpen: "ignore"
+
+# List the start up tasks. You can start them in parallel in multiple terminals. See https://www.gitpod.io/docs/config-start-tasks/
+tasks:
+  - init: ./flutter/bin/flutter doctor -v && pub get && grind deploy
+
+# Add the DartCode extension. See https://www.gitpod.io/docs/vscode-extensions/
+vscode:
+  extensions:
+    - Dart-Code.dart-code@3.9.0:umvoqCQMs3NpksmwhVtStw==
\ No newline at end of file
diff --git a/README.md b/README.md
index ec2938a..54878cf 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,7 @@
 [![Build Status](https://travis-ci.org/dart-lang/dart-services.svg?branch=master)](https://travis-ci.org/dart-lang/dart-services)
 [![Coverage Status](https://coveralls.io/repos/dart-lang/dart-services/badge.svg?branch=master)](https://coveralls.io/r/dart-lang/dart-services?branch=master)
 [![Uptime Status](https://img.shields.io/badge/uptime-Pingdom-blue.svg)](http://stats.pingdom.com/8n3tfpl1u0j9)
+[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/dart-lang/dart-services)
 
 ## What is it? What does it do?