Skip to content

pb-it/ark-cms

Repository files navigation

ark-cms

Node.js version License

Description

Client-side rendered CMS application(JAM-stack) for usage with an API provided by a headless CMS backend.

Requirements

This application is intended to be used with a 'modern' browser which at least support ECMAScript 2016.

Current State

Current releases with major version 0.x.x are still a proof of concept of the system's architecture.

Although it provides basic CRUD operations, it doesn't have any sort of security mechanism.

See Task List or Roadmap / Milestones for futher progress.

Usage / Getting Started

Requirements

Supported operating systems:

  • Ubuntu LTS / Debian 9.x
  • Windows 10/11
  • Docker

ℹ️ NOTE: Other operating systems may also work, but these are not tested nor officially supported at this time.

Installation

npm install

Configuration

Server configuration is defined in ./config/server-config.js.

By default the application uses port 4000.

Run

npm run start

Browse 'http://localhost:4000'

Docker

Build

docker build . -t <image name>

Run

docker run -p 4000:4000 -d <image name>

or

# with interactive bash
docker run -p 4000:4000 -it <image name> /bin/bash

Tests

PREREQUISITE: If not included or already installed setup driver(selenium-webdriver, chromedriver, geckodriver, iedriver) depending on your desired browser.

ℹ️ NOTE: Using Firefox installation via Snap might cause troubles! There might also occur problems with executeScript/executeAsyncScript functions when using firefox. Hence I recommend to use Chrome for testing.

Create an profile for your browser (firefox: about:profiles, chrome: chrome://version).

Edit test configuration ./tests/config/test-config.js

⚠️ WARNING: The test suite will clear the database on the configured API server! Ensure it does not contain any important data!

# npm install --only=dev
# sudo npm install -g mocha
npm run test

ChromeDriver

https://www.npmjs.com/package/chromedriver

global(recommended):

npm install --global chromedriver --chromedriver_version=LATEST
# npm update -g chromedriver

local:

npm install --save-dev chromedriver --chromedriver_version=LATEST

Documentation

Check our wiki pages for examples and a more in-depth documentation.

Changelog

See changelog

Task List

  • Help system / Wiki
  • Add user management/authentication (Sessions, ACLs, etc.)
  • Language localization (L10N)
  • Configureable dashboard
  • Parse models from existing database
  • Table view
  • History / Content versioning

Roadmap / Milestones

Frequently Asked Questions

Contributors

Credits

Images

Credits for Dependencies

Check header of index.html and package.json for futher information

Caveats

⚠️WARNING⚠️

This application is currently developed under the purpose of usage in private domains/networks. When you are going to use it in an public domain please consider local law / restrictions / constraints. For example this may include the duty of adding an imprint / legal notice / legal disclosure, etc. to the website.

Disclaimer of Warranty & Limitation of Liability

See MIT License for details.


REMINDER

  • Use this software at your own risk
  • Backup your data
  • Verify and dry test your data before doing a production run

License

MIT License

About

CMS

Resources

License

Stars

Watchers

Forks

Packages

No packages published