π Portal.JS is a framework for rapidly building rich data portal frontends using a modern frontend approach. Portal.JS 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. Portal.JS 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.
- πΊοΈ 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 frontend tech (JavaScript, React, Next.js).
- π 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.
- π Build with modern, familiar frontend tech such as JavaScript and React.
- π Next.js framework: so everything in Next.js for free: Server Side Rendering, Static Site Generation, huge number of examples and integrations, etc.
- Server Side Rendering (SSR) => Unlimited number of pages, SEO and more whilst still using React.
- Static Site Generation (SSG) => Ultra-simple deployment, great performance, great lighthouse scores and more (good for small sites)
Check out the Portal.JS website for a gallery of live portals
Access the Portal.JS documentation at:
If you have questions about anything related to Portal.JS, you're always welcome to ask our community on GitHub Discussions or on our Discord server.
Portal.JS used to be Recline(JS). If you are looking for the old Recline codebase it still exists: see the recline
branch. If you want context for the rename see this issue.