Frontend Starters
Three starter templates to get your site running. Each connects to the Public API to fetch published content. Deploy to Vercel, Netlify, or Cloudflare Pages.
In production, point your frontend at the Public API (api.yourdomain.com) rather than the CMS directly. This keeps the CMS locked down behind Cloudflare Access while your site reads content through a hardened, read-only endpoint.
React + Vite
Single-page app with React Router and TanStack Query. Client-side rendering.
git clone https://github.com/cloudcore-cms/cloudcore-react.git
cd cloudcore-react
cp .env.example .env
# Edit .env: VITE_CMS_URL=https://api.yourdomain.com
npm install && npm run dev | Platform | Deploy |
|---|---|
| Vercel | npx vercel — set VITE_CMS_URL env var |
| Netlify | npx netlify deploy --build — set env in dashboard |
| Cloudflare Pages | npm run build && npx wrangler pages deploy dist |
Next.js
Server-rendered with App Router. ISR for dynamic content. Image optimization.
git clone https://github.com/cloudcore-cms/cloudcore-next.git
cd cloudcore-next
cp .env.example .env.local
# Edit .env.local: NEXT_PUBLIC_CMS_URL=https://api.yourdomain.com
npm install && npm run dev | Platform | Deploy |
|---|---|
| Vercel | npx vercel — auto-detects Next.js |
| Netlify | npx netlify deploy --build (requires @netlify/plugin-nextjs) |
| Cloudflare Pages | Requires @cloudflare/next-on-pages |
Astro
Static site generation. Zero JavaScript shipped by default. Perfect Lighthouse scores.
git clone https://github.com/cloudcore-cms/cloudcore-astro.git
cd cloudcore-astro
cp .env.example .env
# Edit .env: PUBLIC_CMS_URL=https://api.yourdomain.com
npm install && npm run dev | Platform | Deploy |
|---|---|
| Vercel | npx vercel |
| Netlify | npx netlify deploy --build |
| Cloudflare Pages | npm run build && npx wrangler pages deploy dist |
Build your own
The public API is framework-agnostic. Use any frontend — Vue, Svelte, Solid, or even a mobile app. The key endpoints:
GET /api/v1/public/content?type=page # List published pages
GET /api/v1/public/content?type=post # List published posts
GET /api/v1/public/content/page/home # Get page by slug
GET /api/v1/public/content/post/my-post # Get post by slug
GET /api/v1/public/categories # List categories
GET /api/v1/public/tags # List tags
GET /api/v1/media/:id/file # Serve media file Or use an AI coding assistant to generate a custom frontend — give it the API docs and your design requirements.