57 lines
2.9 KiB
Markdown
57 lines
2.9 KiB
Markdown
<h1 align="center">
|
|
🌀 Portal.JS
|
|
<br />
|
|
Rapidly build rich data portals using a modern frontend framework
|
|
</h1>
|
|
|
|
* [What is Portal.JS ?](#What-is-Portal.JS)
|
|
* [Features](#Features)
|
|
* [For developers](#For-developers)
|
|
* [Appendix](#Appendix)
|
|
* [What happened to Recline?](#What-happened-to-Recline?)
|
|
|
|
# What is Portal.JS
|
|
|
|
🌀 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](https://nextjs.com/) 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](https://ckan.org/).
|
|
|
|
## 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)
|
|
|
|
#### **Check out the [Portal.JS website](https://portaljs.org/) for a gallery of live portals**
|
|
|
|
___
|
|
|
|
# Docs
|
|
|
|
Access the Portal.JS documentation at:
|
|
|
|
https://portaljs.org/docs
|
|
|
|
- [Components](https://portaljs.org/docs/components)
|
|
- [Examples](https://portaljs.org/docs#examples)
|
|
|
|
# Community
|
|
|
|
If you have questions about anything related to Portal.JS, you're always welcome to ask our community on [GitHub Discussions](https://github.com/datopian/portal.js/discussions) or on our [Discord server](https://discord.gg/An7Bu5x8).
|
|
|
|
# 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](https://github.com/datopian/portal.js/tree/recline). If you want context for the rename see [this issue](https://github.com/datopian/portal.js/issues/520).
|