Skip to content

AppText is a content management system for applications. Application developers can use it to replace static resources in applications with dynamic content and delegate content management to non-developers.

License

Notifications You must be signed in to change notification settings

martijnboland/apptext

Repository files navigation

AppText

AppText is a Content Management System for Applications. A hybrid between a headless Content Management System and a Translation Management System.

AppText is built with ASP.NET Core and React. It is installed via NuGet packages.

.NET Core Build Nuget (with prereleases)

Who should use it?

AppText is intended for .NET application developers who want an easy way of managing content for their applications and being able to delegate content management to non-developers.

Getting started

A complete getting started guide can be found on the AppText web site. You can also check out the examples.

Development and contributing

Prerequisites

AppText is a .NET Core app and uses React for the Admin app. You should be able to run it on any platform that supports .NET Core (Windows, MacOS, Linux). To build it, you'll need the .NET Core 3.1 SDK and a reasonably recent version of node.js, for example, the latest LTS version.

Get the source code

git clone https://github.com/martijnboland/apptext.git

Navigate to the folder where you cloned the sources. You'll see a /src folder and in that folder the following components:

  • AppText - the core logic with the REST and Graphql api's and a file-based storage engine;
  • AppText.AdminApp - the management application;
  • AppText.Localization - enables .NET Core apps to use AppText dynamic resources with the standard .NET Core localization API;
  • AppText.Storage.LiteDB - storage engine based on LiteDB;
  • AppText.Translations - module that adds a global 'Translation' content type and provides a REST endpoint to retrieve content as JSON, .NET resx or GNU gettext PO files.
  • HostAppExample - ASP.NET Core template app with authentication that hosts AppText as embedded application. This one is also configured by default to use the LiteDB storage engine.

Build and run API and Admin app

Follow the steps below to build and run the AppText API and Admin App.

Open a terminal window and navigate to the /src/AppText.Admin/ClientApp folder, then build the React Admin app with

npm install
npm run build

Open a second terminal, navigate to the /src/AppText.AdminApp folder and execute

dotnet run

The admin interface will become available at https://localhost:5101/apptext. It is set up that it will initialize itself as app in the AppText storage at startup.

When developing the Admin app, you can run the webpack development server (with Hot Module Reloading) from the /src/AppText.Admin/ClientApp folder with

npm start

The Admin app will then be available at http://localhost:8080.

Build and run the Host App example

An alternative way of running AppText from source is by building AppText and AppText.Admin first, but then running the HostAppExample. This showcases how AppText can be integrated in any existing ASP.NET Core web application.

Open a terminal, navigate to the /src/AppText.AdminApp/ClientApp folder and execute

npm install
npm run prod

Then navigate back to the sources root folder (where AppText.sln is located) and execute

dotnet build

Finally go to the src/HostAppExample folder and execute

dotnet run

The host app is available at https://localhost:5001 and the AppText admin app is at https://localhost:5001/apptext. Note that you have to create an account first and log in before you can access the admin app.

About

AppText is a content management system for applications. Application developers can use it to replace static resources in applications with dynamic content and delegate content management to non-developers.

Topics

Resources

License

Stars

Watchers

Forks

Packages