๐ Portal.JS
Rapidly build rich data portals using a modern frontend framework
What is Portal.JS
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.
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 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.
For developers
๐ 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)
Portal.JS website for a gallery of live portals
Check out theDocs
Access the Portal.JS documentation at:
Community
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.
Appendix
What happened to Recline?
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.