Provita Geoportal: a serverless GIS portal using the Jamstack
2021-09-29, 14:00–14:30, Puerto Madryn

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

Authors and Affiliations

Morin, Ricardo (1)

(1) Provita, Venezuela

Requirements for the Attendees

Some Web development background recommended (HTML, Javascript, Web frameworks)

Track

Use cases & applications

Topic

Software/Project development

Level

3 - Medium. Advanced knowledge is recommended.

Language of the Presentation

English

Ricardo is a seasoned information technologies professional. After retiring from Intel in 2015, Ricardo has been engaging in freelance work and volunteering for environmental non-profit organizations. He developed and deployed several 2D/3D mapping applications using open source technologies. Ricardo was a presenter at FOSS4GNA-2016 and FOSS4G-2017.