We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Provita Geoportal: a serverless GIS portal using the Jamstack

Formal Metadata

Title
Provita Geoportal: a serverless GIS portal using the Jamstack
Title of Series
Number of Parts
237
Author
Contributors
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Provita, an environmental NGO based in Venezuela, needed a multi-lingual Geoportal to disseminate their national and regional GIS data to researchers, 3rd party organizations, and the general public. They needed to be able to upload and publish data sets and their associated metadata self-sufficiently, as well as the ability for end-users to preview the datasets on an interactive map. Furthermore, Provita needed the Geoportal to be very economical and hands-off regarding operation and maintenance. In this session, we describe in the detail how we developed a high-performance and cost-effective serverless Geoportal using a statically generated site and tilesets, taking advantage of the Jamstack, Github APIs, and Amazon Web Services (AWS) for storage and on-demand computation. We explain how we used Gridsome, an open source static-site generator for Vue.js, to create end-user and administrator interfaces, and how we integrated the MapLibre GL open source mapping library, to provide a map preview capability for end-users. We discuss options we considered for back end storage of GIS files, metadata and tilesets, and describe how we architected a low-touch, low-cost, scalable end-to-end solution. We also describe how we implemented user authentication and access control using a combination of Github OAuth, Lambda functions and AWS policies. In addition, we present our approach for very inexpensive and extremely flexible site hosting using Netlify. Finally, we explain our approach for tile generation using AWS batch job capabilities and the use of spot instances to minimize costs. Attendees interested in developing similar applications or contributing to this open source, open data project, will benefit from lessons learned discussed in this session. The proposed presentation outline is as follows: Introduction, requirements and design considerations Geoportal live demo, end-user and admin interfaces What is the Jamstack and how we leveraged it to build the Geoportal Design overview Front-end: user and admin interfaces, Gridsome and Vue.js; map preview using MapLibre; i18n approach Back-end: Github data repos, AWS S3, and AWS batch jobs; Netlify hosting Authentication and access control with OAuth, Lambda functions and AWS policies Key takeaways