sprout-modules-content

Provides dynamic content management for the Sprout Platform

License

License

Categories

Categories

Ant Build Tools Net
GroupId

GroupId

net.savantly.sprout
ArtifactId

ArtifactId

sprout-modules-content
Last Version

Last Version

2.0.0-RC2
Release Date

Release Date

Type

Type

jar
Description

Description

sprout-modules-content
Provides dynamic content management for the Sprout Platform
Project URL

Project URL

https://github.com/savantly-net/sprout-platform
Source Code Management

Source Code Management

https://github.com/savantly-net/sprout-platform/tree/master

Download sprout-modules-content

How to add to project

<!-- https://jarcasting.com/artifacts/net.savantly.sprout/sprout-modules-content/ -->
<dependency>
    <groupId>net.savantly.sprout</groupId>
    <artifactId>sprout-modules-content</artifactId>
    <version>2.0.0-RC2</version>
</dependency>
// https://jarcasting.com/artifacts/net.savantly.sprout/sprout-modules-content/
implementation 'net.savantly.sprout:sprout-modules-content:2.0.0-RC2'
// https://jarcasting.com/artifacts/net.savantly.sprout/sprout-modules-content/
implementation ("net.savantly.sprout:sprout-modules-content:2.0.0-RC2")
'net.savantly.sprout:sprout-modules-content:jar:2.0.0-RC2'
<dependency org="net.savantly.sprout" name="sprout-modules-content" rev="2.0.0-RC2">
  <artifact name="sprout-modules-content" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.savantly.sprout', module='sprout-modules-content', version='2.0.0-RC2')
)
libraryDependencies += "net.savantly.sprout" % "sprout-modules-content" % "2.0.0-RC2"
[net.savantly.sprout/sprout-modules-content "2.0.0-RC2"]

Dependencies

compile (2)

Group / Artifact Type Version
net.savantly.sprout : sprout-core jar 2.0.0-RC2
org.freemarker : freemarker jar

test (4)

Group / Artifact Type Version
net.savantly.sprout : sprout-module-test jar 2.0.0-RC2
org.springframework.boot : spring-boot-starter-test jar
org.springframework.security : spring-security-test jar
com.h2database : h2 jar

Project Modules

There are no modules declared in this project.

sprout-platform

CI

Sprout Web App

The Sprout Platform provides an extensible and modular application platform, suitable for custom CMS, line-of-business, application portals, or other types of apps.

You can use the default server, or add the Sprout Starter Library to your own Spring Boot project.
It can be used headless, but a default UI is provided which is customizable via plugins.

It's opinionated, but the default configurations can be backed off - so you can use as much or as little as you want.
Full documentation is in progress, and PRs are welcome!

Go here for documentation

The front-end UI uses a plugin system to add or modify functionality.
Read more about the front-end

The back-end server uses a module system to add or modify functionality. A module may also provide plugins to the UI.
Read more about the back-end

The platform has gone through several iterations - AngularJS, Angular 2/4/6, and now React.
I got lots of inspiration [and code] from the Grafana UI + toolkit for this latest iteration.

I'd love to get some input from the community!

If there is specific feature you'd like, or if you experience a bug, please open an issue here

Please consider contributing through PRs or Patreon

I believe the Open Source community needs an enterprise grade CMS that's flexible enough for any project starter.
Help me create that!

paypal

Sprout platform is currently being refactored to leverage the latest libraries and practices. Follow this project to stay informed.

Quick Start

Use the docker images to start an example server + web app.
docker-compose up

The example server creates a user -
username: admin
password: changeme!

Examples

Live Server Demo

https://sprout-server.herokuapp.com/

Live Client Demo

https://sprout-web.herokuapp.com/

Screenshots

Sprout Web App

Sprout Web App

Sprout Web App

UI Port from Grafana

First - Many thanks to the Grafana developers, who have put tremendous effort into the UI and plugin toolkit.

The port from Grafana UI went like this -

  • Copy the UI project into my workspace
  • Rip all the time-series related stuff out [woah!!!] =)
  • Rip all the Angular stuff out [oh man... so many red squiggly lines in my IDE]
  • Rip half my hair out
  • Rip out cool features that I don't have time to port right now =(
  • Monkey patch about 200 files
  • Rip the other half of my hair out
  • Connect the 'home' dashboard request to the server, and provide some mock data
  • Build some docker images. woohoo!

TODO

This list is not comprehensive, but some high level tasks I'd like to tackle soon.

  • Add a code editor to the Standard Editors [port Monaco stuff from Grafana?]
  • Add Authentication screens to UI
  • Add lots of tests
  • Add server hook for all the boot data the UI expects
  • Remove dependency on Grafana CSS
net.savantly.sprout

Savantly

Savantly custom software solutions for your business

Versions

Version
2.0.0-RC2
2.0.0-RC1