Client-side rendered CMS application(JAM-stack) for usage with an API provided by a headless CMS backend.
This application is intended to be used with a 'modern' browser which at least support ECMAScript 2016.
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.
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.
npm installServer configuration is defined in ./config/server-config.js.
By default the application uses port 4000.
npm run startBrowse 'http://localhost:4000'
docker build . -t <image name>docker run -p 4000:4000 -d <image name>or
# with interactive bash
docker run -p 4000:4000 -it <image name> /bin/bashPREREQUISITE: 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 testhttps://www.npmjs.com/package/chromedriver
global(recommended):
npm install --global chromedriver --chromedriver_version=LATEST
# npm update -g chromedriverlocal:
npm install --save-dev chromedriver --chromedriver_version=LATESTCheck our wiki pages for examples and a more in-depth documentation.
See changelog
- 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
- Most icons are from Font Awesome, CC BY 4.0 License
- Loading icon is from Ahm masum, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons
- 'image_missing.png' is from Papirus Development Team, Free for commercial use
- 'image_icon.png' is from Papirus Development Team, Free for commercial use
- 'video_icon.png' is from Papirus Development Team, Free for commercial use
- 'audio_icon.png' is from Papirus Development Team, Free for commercial use
- 'pdf_icon.png' is from Papirus Development Team, Free for commercial use
- 'unknown_icon.png' is from Papirus Development Team, Free for commercial use
Check header of index.html and package.json for futher information
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.
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