The story of the daring raid on Germany’s dams in May 1943, exploring 617 Squadron’s mission, its engineering, and its lasting impact.
Using ArcGIS StoryMaps and embedded maps created with the ArcGIS Maps SDK for JavaScript this repo demonstrates an example of a customized scrollytelling application that employs scroll-driven map choreography.
- Embeds story in webpage using script-embed workflow
- Scroll-driven map choreography
- Iframe integration - Seamlessly embeds and manipulates maps created with the ArcGIS Maps SDK for JavaScript within ArcGIS StoryMaps via postMessage communication
- Responsive viewport calculation - Accurate scroll progress accounting for different screen sizes
-
Clone the repository
git clone https://github.com/Esri/dam-busters.git cd dam-busters -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser
- Main application:
http://localhost:5173 - Embedded map display:
http://localhost:5173/map/
- Main application:
- Node.js (version 18 or higher)
- npm or yarn package manager
- Modern web browser (Chrome, Firefox, Safari, Edge)
- ArcGIS Online account or ArcGIS Enterprise
- StoryMaps authoring privileges
- Git for version control
- VS Code or similar code editor
- Introducing Story Embeds via Script! - ArcGIS Blog post explaining the script embedding technique used in this project.
- Storytelling with 3d models
- 3D object layer
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Copyright 2026 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.txt file.