gentics / mesh-ui

Gentics Mesh UI
https://getmesh.io
Apache License 2.0
23 stars 27 forks source link
angular headless-cms ui

Gentics Mesh

Gentics Mesh is your friendly, enterprise-grade, open-source headless CMS.

To be honest, it’s more than that: it’s your application development platform to develop your websites, your IoT applications, your mobile apps, your smart devices and your digital signage solutions. With its best-in-class APIs, a complete feature list and great documentation, you’ll get your projects done successfully in less time, no matter which technology you prefer.


stable License Stack Overflow Join the chat at https://gitter.im/gentics/mesh Latest release CLA assistant


Gentics Mesh Screenshot

Quick Start

This repository contains the source code for the user interface of Gentics Mesh. Please check out the Gentics Mesh backend repository for further information.

Development

  1. $ git clone git@github.com:gentics/mesh-ui.git
  2. $ git checkout develop
  3. $ npm ci
  4. $ npm start
  5. Download and run the Mesh Demo: https://getmesh.io/download/ OR you can run npm run mesh if you have docker installed.
  6. Open http://localhost:4200 in a browser.

Testing

$ npm test

Developer Notes

Code Formatting

This project uses TSLint and Prettier to automatically format the TypeScript code, and js-beautify to format the HTML templates.

Formatting is performed automatically with every commit (by means of lint-staged). This means that only well-formatted code should ever make it into the repo. In the event that there is a TSLint failure which cannot be automatically fixed, the commit will fail with an error message from TSLint explaining what needs to be fixed manually.

Strict null checks and the ! operator

This project makes use of TypeScript's strictNullChecks. In general, we should avoid the use of the ! non-null assertion operator and try to make better use of correct typings, type guards and defensive programming.

This is not a hard rule and there are the following valid exceptions:

Distribution

In order to build the bundled static files for a web server to be served:

  1. Optionally: Edit the base path in /src/app/index.html at <base href="https://github.com/gentics/mesh-ui/blob/develop/"> to your need. E. g. <base href="https://github.com/gentics/mesh-ui/blob/develop/cms">
  2. $ npm run build
  3. At /dist are the files ready to be served.

Copyright & License

Copyright (c) 2014-2023 Gentics Software GmbH. Licensed under the Apache License, Version 2.0.

Gentics is a registered trade mark of Gentics Software GmbH.