Final Project

Plan and build a map-centric application

Write a planning document for a final project, then build the project in iterations. The overall requirement is a website or app that uses geographic information.

  1. Choose a topic
  2. Write a planning document
  3. Find or create geographic information
  4. Choose how to present it online
  5. Develop iteration 1
  6. Develop iteration 2
  7. Develop iteration 3
  8. Submit

Topic

Choose a topic

Choose a topic that is feasible for a class project. It should be something you can present through a website or app with maps or other geographic information.

For ideas:

Planning

Write a planning document

Before building the project, submit a planning document with these three parts:

Overview

Briefly describe:

You do not need to decide every technical detail yet, but you should decide the purpose, the users, and the scope.

User stories

Write “user stories” that describe your audience/users/customers, what they need, and why they need it. These stories will later be turned into features in your app, and they drive the initial development. Features you add to your app, like an “add data” button, an extra layer, an export to PDF button, etc., should be in response to user’s needs as expressed in the user stories.

Use this format:

As a [type of user], I want to [do something], so that [reason or goal].

User stories should describe what people need to do with the project, not just technical features.

1. As a resident, I want to tap on a park and see its name and amenities, so that I can decide whether it is worth visiting.
2. As a parent, I want to locate playgrounds near my neighborhood, so that I can decide where to bring my children.
3. As a visitor, I want to view parks near major roads, so that I can easily get there.

Product backlog

A backlog converts the user stories into a to-do list of work. Write a backlog of concrete items you can actually build, test, and check off. It can be helpful to prioritize work by grouping them by must-have, should-have, and could-have items.

Writing example

Must have
- Add a map showing park locations.
- Include park names in the dataset.
- Include amenity information for each park.
- Configure a popup so users can tap a park and see its name and amenities.
- Symbolize or label playground locations clearly.
- Make it possible to identify playgrounds near a neighborhood.
- Show major roads on the map.
- Make it possible to see which parks are near major roads.

Should have
- Add a legend explaining parks, playgrounds, and roads.
- Add search so users can find a neighborhood or park by name.
- Add a filter so users can show only parks with playgrounds.
- Adjust the map scale and extent so roads and parks are easy to interpret together.

Could have
- Add directions or an external link for navigation.
- Add photos of parks.
- Add parking information.
- Add a mobile-friendly layout for easier use on a phone.

Data

Find or create geographic information

You may create your own dataset or use existing sources such as web services. If needed, convert the data into a form that works for Web GIS and host it online.

Choose datasets that support your user stories.

Presentation

Choose how to present the information online

Make decisions based on what works best for your topic:

Use the tools that best fit your project. You may use ArcGIS Online, Leaflet, GitHub Pages, or another approach. Configure the project so that users can understand and interact with the geographic information.

Iteration 1

Build a minimum viable product

Create the smallest useful working version of the project. Test after each step you take or new feature you add. This can include saving, previewing, and publishing maps and apps.

At the end of each iteration, you should have a working app–not finished, but something online and operational that you can link to, even with a limited set of features and data.

Iteration 1 could include:

Iteration 2

Improve functionality and content

Continue working through the top items in your backlog. Improve the usefulness and clarity of the project.

This may include:

Iteration 3

Refine, test, and complete the project

Finish the most important remaining backlog items. Improve the user experience and test the project carefully.

Focus on things such as:

Submit

  1. Your planning document
  2. The final project URL
  3. A short changelog describing what changed across iterations
  4. A short retrospective describing what changed overall during development from the original plan

If your project has multiple pages or apps, create a landing page that acts as a single point of entry.