# PortalJS Frontend Starter
**A modern, customizable frontend template for building high-performance CKAN-based data portals**
Powered by **Next.js**, **React**, and **Tailwind CSS**
**🚀 Live Demo • 📖 Documentation • ☁️ PortalJS Cloud • 🌐 Website**
---
## Overview
This is the official frontend template used by PortalJS Cloud — a fully managed data portal service built on top of CKAN and Next.js.
Use it to:
- Build decoupled CKAN frontends with modern tools (Next.js, React, TailwindCSS)
- Customize dataset views, branding, and layouts
- Deploy on Vercel, Netlify, Cloudflare Pages or your own infra
## ✨ Features
- **Modern UI** - Clean, responsive design with Tailwind CSS
- **High Performance** - Built on Next.js 13+ with SSR/SSG
- **CKAN Integration** - Seamless data fetching via @portaljs/ckan
- **TypeScript** - Full type safety and better DX
- **Easy Customizatio**n - Simple theme system and component styling
- **Mobile-First** - Responsive design for all devices
- **Deploy Ready** - One-click deployment to Vercel
## Getting started
### Option 1: PortalJS Cloud
PortalJS Cloud uses this template for creating new portals. If you want to quickly get started for free, follow the steps:
1. **Sign up** at
2. **Create portal** → PortalJS Cloud will auto-generate a GitHub repository for your portal (based on this template) and deploy it automatically
3. Find the repo link in your PortalJS Cloud dashboard
4. **Customize** your portal via pull requests — or let us take care of it by reaching out at portaljs@datopian.com
### Option 2: Self-Hosted / Standalone
> [!note]
> In standalone mode, you are going to need your own dedicated CKAN instance.
In order to use this repository in standalone mode (i.e. without PortalJS Cloud), click on the "Use this template" button on the top right corner to replicate this code to a new repo.
Then, you can start customizing it locally by following the development instructions bellow, and/or deploy it somewhere such a …