2023-04-25 08:40:24 -03:00

3.4 KiB

🌀 PortalJS: The JavaScript framework for data portals

🌀 PortalJS is a framework for rapidly building rich data portal frontends using a modern frontend approach. PortalJS can be used to present a single dataset or build a full-scale data catalog/portal.

Built in JavaScript and React on top of the popular Next.js framework. PortalJS assumes a "decoupled" approach where the frontend is a separate service from the backend and interacts with backend(s) via an API. It can be used with any backend and has out of the box support for CKAN.

PortalJS offers a variety of examples (templates) to bootstrap your own data portal in just a few minutes. Get started now!

Features

  • 🗺️ Unified sites: present data and content in one seamless site, pulling datasets from a DMS (e.g. CKAN) and content from a CMS (e.g. Wordpress) with a common internal API.
  • 👩‍💻 Developer friendly: built with familiar and modern frontend tech such as JavaScript, React and Next.js, so you can take advantage of everything these technologies have to offer: Server Side Rendering, Static Site Generation, huge number of examples and more!
  • 🔋 Batteries included: full set of portal components out of the box e.g. catalog search, dataset showcase, blog, etc.
  • 🎨 Easy to theme and customize: installable themes, use standard CSS and React+CSS tooling. Add new routes quickly.
  • 🧱 Extensible: quickly extend and develop/import your own React components
  • 📝 Well documented: full set of documentation plus the documentation of Next.js and Apollo.

What is a data portal?

A Data Portal is a gateway to data. That gateway can be big or small, open or restricted. For example, data.gov is open to everyone, whilst an enterprise "intra" data portal is restricted to that enterprise (and perhaps even to certain people within it).

A Data Portal's core purpose is to enable the rapid discovery and use of data. However, as a flexible, central point of truth on an organizations data assets, a Data Portal can become essential data infrastructure and be extended or integrated to provide many additional features:

  • Data storage and APIs
  • Data visualization and exploration
  • Data validation and schemas
  • Orchestration and integration of data
  • Data Lake coordination and organization

The rise of Data Portals reflect the rapid growth in the volume and variety of data that organizations hold and use. With so much data available internally (and externally) it is hard for users to discover and access the data they need. And with so many potential users and use-cases it is hard to anticipate what data will be needed, when.

Read more about data portals

Getting started

To get started creating your own data portal with PortalJS, take a look at the examples below and analyze which one best suits your needs:

Examples

Then, simply follow the instructions on the given example page to use it as the template of your project.

Tutorials and guides

We are working on that! Tutorials coming out soon.

Getting Help

If you have questions about anything related to PortalJS, you're always welcome to ask our community on GitHub Discussions or on our Discord server.