All Projects → chifei → Jweb Cms

chifei / Jweb Cms

Licence: agpl-3.0
A developer friendly Java CMS based on JAX-RS, Guice style DI, Bean Validation, JPA and React.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jweb Cms

Notadd
A microservice development architecture based on nest.js. —— 基于 Nest.js 的微服务开发架构。
Stars: ✭ 2,556 (+1083.33%)
Mutual labels:  microservice, cms
Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+2154.17%)
Mutual labels:  microservice, cms
Pro
ECStore Pro - Laravel 微信网店微服务框架
Stars: ✭ 14 (-93.52%)
Mutual labels:  microservice, cms
Spring Microservice Sample
Spring Boot based Mircoservice sample
Stars: ✭ 199 (-7.87%)
Mutual labels:  microservice
Slimcms
SlimCMS - lightweight CMS based on slim 3 framework
Stars: ✭ 201 (-6.94%)
Mutual labels:  cms
Storyblok
You found an issue with one of our products? - submit it here as an issue!
Stars: ✭ 206 (-4.63%)
Mutual labels:  cms
Express Gateway
A microservices API Gateway built on top of Express.js
Stars: ✭ 2,583 (+1095.83%)
Mutual labels:  microservice
Torcms
Flexible, extensible web CMS framework built on Tornado.
Stars: ✭ 197 (-8.8%)
Mutual labels:  cms
Wcf
WoltLab Suite Core (previously WoltLab Community Framework)
Stars: ✭ 211 (-2.31%)
Mutual labels:  cms
Whatcms
CMS Detection and Exploit Kit based on Whatcms.org API
Stars: ✭ 205 (-5.09%)
Mutual labels:  cms
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (-6.02%)
Mutual labels:  microservice
Tp Micro
TP-Micro is a highly available microservice platform based on teleport.
Stars: ✭ 202 (-6.48%)
Mutual labels:  microservice
Fiction house
小说精品屋是一个多平台(web、安卓app、微信小程序)、功能完善的屏幕自适应小说漫画连载系统,包含精品小说专区、轻小说专区和漫画专区。包括小说/漫画分类、小说/漫画搜索、小说/漫画排行、完本小说/漫画、小说/漫画评分、小说/漫画在线阅读、小说/漫画书架、小说/漫画阅读记录、小说下载、小说弹幕、小说/漫画自动采集/更新/纠错、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能。
Stars: ✭ 2,710 (+1154.63%)
Mutual labels:  cms
Cms
GleezCMS - A Light, Simple, Flexible Content Management System
Stars: ✭ 200 (-7.41%)
Mutual labels:  cms
Core
Zikula Core Framework
Stars: ✭ 213 (-1.39%)
Mutual labels:  cms
Wangmarket
系统成熟、流程完善、细节精致、使用简单。极低的成本投入,30秒安装部署,选好模版一键导入。最快出网站,最快赚到钱。网市场云建站系统,历经8年,不断完善,拒绝半成品!
Stars: ✭ 200 (-7.41%)
Mutual labels:  cms
Awesome Cms
📚 A collection of open and closed source Content Management Systems (CMS) for your perusal.
Stars: ✭ 2,498 (+1056.48%)
Mutual labels:  cms
Login With
Stateless login-with microservice for OAuth
Stars: ✭ 2,301 (+965.28%)
Mutual labels:  microservice
Lndhub
Wrapper for Lightning Network Daemon. It provides separate accounts and trust minimization for end users
Stars: ✭ 203 (-6.02%)
Mutual labels:  microservice
Netlify Cms
A Git-based CMS for Static Site Generators
Stars: ✭ 14,776 (+6740.74%)
Mutual labels:  cms

JWeb Framework

A developer friendly module based JAX-RS micro service framework.

  • Built for startup, provides well designed quick prototyping code base.
  • Supports template editing, perfect for building landing pages.
  • JAX-RS module framework
    • Enhancements to Jersey
    • Supports Guice style DI/AOP
    • Embedded HTTP server with undertow

Getting Started

These instructions will get you a copy of the JWeb CMS up and running on your local machine.

Prerequisites

  1. Download and install Open JDK 11 or Oracle JDK 11
  2. If you want to use MySQL as database. (Optional, JWeb default embeds HSQL)
    1. Download and install MySQL.
    2. Create a database.
      CREATE DATABASE main CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    3. Create a database user with schema update permission.
      CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost'; FLUSH PRIVILEGES;

Installing

  1. Download the package file JWeb-v0.9.0-beta.zip (For all platform)
  2. Unzip the package
  3. Run ./bin/JWeb
  4. Use a browser(IE11+) to open http://localhost:8080
  5. Fill in the require information to setup JWeb.
    1. Choose language.
    2. Input app name, the name will be displayed in page title.
    3. Select database.
      1. If you want to use MySQL, input the info of database and user you created.
    4. Input SMTP settings.

      Optional, if you skip the SMTP settings, user register will be disabled.

    5. Click install button. JWeb will restart.
  6. Open http://localhost:8080/admin/

Run Source Code

  1. Clone the repo
  2. Import as a Gradle project to Intellij IDEA or Eclipse.
  3. Run JWeb-main/src/java/Main.java

Known issues

  • There will be errors in module-info.java for duplicate module java.xml.bind
  • There will be errors in DAO related source codes for missing @Transactional.

It is because of Java 10 JEE split package issues. A temp fix for Intellij IDEA is:

  1. Open settings. Build, Execution, Deployment>Compiler>Java Compiler.
  2. Input the following parameters to Additional command line parameters. And replace the path of javax.transaction-api-1.3.jar.
    --add-modules=java.xml.bind --patch-module java.transaction=~\.gradle\caches\modules-2\files-2.1\javax.transaction\javax.transaction-api\1.3\e006adf5cf3cca2181d16bd640ecb80148ec0fce\javax.transaction-api-1.3.jar
    
  3. The error messages are still there, but it compiles.

Code Examples

To start an App:

public class Main {
    public static void main(String[] args) throws InterruptedException {
        Path dir = Paths.get(System.getProperty("user.home")).resolve(".JWeb");
        App app = new UndertowApp(dir);
        ServiceLoader.load(AbstractModule.class).forEach(app::install);
        app.start();
    }
}

To create a Module:


public class TodoServiceModuleImpl extends TodoServiceModule {
    @Override
    protected void configure() {
        //import DatabaseModule to register entity and create repository
        module(DatabaseModule.class)
            .entity(Task.class);
        
        bind(TaskService.class);
        
        //register service implementation
        api().service(TaskWebService.class, TaskWebServiceImpl.class);
    }
}

Release Notes

  • 0.9.1

    • Clear modules, remove page search/rss and edm features.
    • Add GA/addthis modules
  • 0.9.0

    • User management, supports login/register/forget password/pincode/captcha code.
    • Page management, supports category/page/template/variable/components.
    • File management, supports upload files, download files, scale images, react file browser.
    • Basic email template support

Authors

  • Chi

    If you need support for customization or commerce license, please feel free to contact me chiron.chi#gmail.com

See also the list of contributors who participated in this project.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the AGPL License - see the LICENSE.md file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].