Getting started
Zmaj is a headless CMS that provides RESTful API for your database and admin panel to easily manage your data.
Zmaj uses database tables directly without creating proprietary abstraction. That means that your collection in Zmaj looks the same as table in your database. When you create field in Zmaj, that same field will exist as a column, and vice versa. Every relation is backed by foreign key, so you can be sure that there won't be any invalid values. This allows you to use Zmaj as much or as little as you want. You can have custom API to serve your frontend, and use Zmaj as an internal admin panel replacement.
Zmaj store all it's data in tables starting with zmaj_
prefix.
So everything you need to do to remove Zmaj completely from your app is to just delete it's tables.
Zmaj hasn't reached stable version yet, so please do not use it in production.
Quick Start Example
# Creates basic project
npx zmaj create-project zmaj-example
cd zmaj-example
npm install
# Starts docker with empty database and development email server in background
docker-compose --env-file .env up -d
# If you want to create example project with random data
npx zmaj create-example-schema -d
npm run dev
Then go to http://localhost:5000/admin/#/auth/init
, to create first admin.
Installation
There are 3 ways to get started
Demo
username: admin@example.com
password: password
Demos will be reset at the start of every hour. Data, images and auth sessions will be returned to default, and you will have to login again.
If someone deleted admin@example.com
,
there are admin2@example.com
through admin9@example.com
available with password password
.
Demo Simple Store
Example of the naive web store admin panel.
Demo Blog
Example of the the simple blog backend.