/geodev-hackerlabs

A place to learn how to build geo apps with the ArcGIS Platform.

Primary LanguageHTMLApache License 2.0Apache-2.0

ArcGIS Geodev Hackerlabs

A place to learn how to build geo apps with the ArcGIS platform.

Welcome

This repository contains short labs that step you through the process of developing applications with ArcGIS. The process described here uses ArcGIS Online and ArcGIS for Developers accounts, tools and services, and does not require the installation of desktop software for most labs. A handful have been reworked as ArcGIS DevLabs.

The process involves three steps:

  1. Data - Prepare data for your apps with ArcGIS Online.
  2. Design - Style maps and layers for your apps with the ArcGIS Online Map and Scene Viewer.
  3. Develop - Use maps and layers in your apps with ArcGIS templates, builders and APIs.

Process

Getting Started

Here's how to get started:

  1. Sign up for a free ArcGIS Developer subscription - Your subscription allows you to download software, register apps, import data, create new services, store maps, perform spatial analysis and more. If you already have an ArcGIS Organization subscription (with at least publisher level permission) or access to ArcGIS Enterprise, that will work too.

Free public accounts and Organizational 'User' accounts are not sufficient to complete the Hackerlabs.

  1. Start the labs - You can complete the labs in order or just pick and choose the ones you want to do. It will be easiest to use the data provided (Portland open data), but you feel free to substitute with your own data and augment the steps where necessary. The labs marked with an * are the minimum labs you need to complete to build your own custom app from ground zero.

  2. Share your work - This is 100% optional, but as you are going through, feel free to share your work with others in this ArcGIS Online Group!

Resources

Here are the resources you will use for the labs.

NOTE: If you are brand new to ArcGIS, we recommend that you use your developer account to sign into developers.arcgis.com to familiarize yourself with the site and then sign into ArcGIS.com to learn how to create your first map.

Labs

The labs start from ground-zero and work through the Data - Design - Develop process. In this case we use Portland open data, but feel free to use your own data to work through and build your own custom solutions. You might find it helpful to follow along with the Hackerlab Slides.

NOTE: Labs marked with an * are the minimum required to build your own app from ground zero. The others are optional.

Let's get started!

Steps

1. Data

Creating and importing data interactively is a fast and effective way to prepare data for both prototype and production app development.

In these labs you will import, create and manage data using the ArcGIS Online and ArcGIS for Developers website and tools. You will also use the map viewer to perform data enrichment, the process of adding social demographic information to a dataset, and spatial analyses, the process of creating new data based on spatial criteria. You will also explore the feature service REST endpoints and use them in a simple web app to access and display spatial data.

ArcGIS Online and Developer Tools

Code

2. Design

Creating web maps with great cartography is one of the most important steps to building effective mapping applications. Styling maps interactively can also be huge time-saver in app development.

In these labs you will use ArcGIS Online and the map viewer to create and style web maps. You will create new maps, explore basemaps, search for layers, use smart mapping to change symbol styles, style popups, label data, show/hide fields, filter data, and more. You will also learn how to save web maps and featurelayers and use the JSON to achieve the same rich cartographic and popup experiences in your own custom apps.

ArcGIS Online Tools

Code

3. Develop

One of the easiest ways to build an ArcGIS map app is to start with a web map.

In these labs you will use the Configurable App Templates, the ArcGIS Web App Builder, and the APIs to build custom mapping apps. You will use the web maps with the Web AppBuilder to create an HTML5 responsive app or AppStudio to build and deploy a native app for iOS and Android. Or you can just build a custom app from the ground up with the ArcGIS JS API, Esri-Leaflet or the ArcGIS Runtime APIs.

Web Map Apps

JS API

The above labs all use the 4.x JS API. If you would rather learn about the 3.x JS API, check here.

ArcGIS API for Python

Esri-Leaflet

Web AppBuilder Developer Edition

Want to share your work?

  1. Login to ArcGIS Online.
  • Search for Geodev Hackerlabs Share > Search Groups.
  • Uncheck Only search in my account/organization.
  • Join the group.
  • Share your own items.

Want to help?

  1. Sign up for a GitHub account (if you don't already have one).
  2. Let us know what works for you and what doesn't in an issue
  3. If you're already savvy with git (or want an excuse to start learning), feel free to fork the repo and send us a pull request! There is lots on the web to help you get started, but we especially like the stuff here.

Data and Terms of Use

Please see www.civicapps.org, developer.trimet.org/gis and http://www.portlandoregon.gov/bts for the data terms of use.

Licensing

Copyright 2017 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.