/headcodecms

This repository bundles Headcode CMS with a built-in website for demo purposes.

Primary LanguageTypeScript

Headcode CMS

Headcode CMS is a 100% open-source headless CMS. It does not require a separate CMS server or cloud service. Simply embed it into your Next.js 13 project - configure Supabase for database, storage, and Auth - and you are DONE! Future versions will support additional front-end frameworks and cloud services.

More information:

Setup and Installation

To run the prototype locally you need to perform the following steps:

  1. Clone or download the repository from GitHub
  2. Run "npm install --legacy-peer-deps" to install the dependencies
  3. Copy .env.local.example to .env.local
  4. Create a new Supabase project
  5. Add Supabase connection strings to .env.local
  6. Run "npm run dev" to start the server
  7. Open http://localhost:3000
  8. Click "Register" to register and account and setup the database tables and storage.

Upload Demo Data

Headcode CMS works without data as well, but if you'd like to import the demo data for the database and storage, just import them in Supabase Studio after you finished the setup. You find the demo data in the _demo_data folder.

Import demo data to v01_sections table

Import the file supabase-sections.csv from the folder _demo_data in your Supabase Tables Dashboard.

Import Demo Data

Import demo images to Supabase storage

Unzip the file supabase-storage.zip from the folder _demo_data and upload the files to the public folder of the headcode bucket.

Upload Demo Images

Upload Demo Images

Environment Variables

The prototype requires Supabase to work correctly. Therefore configure the following environment variables (e.g.: .env.local):

NEXT_PUBLIC_SUPABASE_URL=https://<PROJECT_ID>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=xxx
SUPABASE_CONNECTION_STRING=postgresql://postgres:xxx

PLEASE NOTE

In this demo I bundled an early version of Headcode CMS with a basic theme. It is not intended to be used in production, and I don't give support for this repository.

I'm currently working on the npm packages which includes documention, full TypeScript support, and testing.

You may not redistribute copies of this demo under a different name.

For feedback you can reach me at X (Twitter) via (@markustripp)[https://twitter.com/markustripp] or via email: markus@headcodecms.com