Skip to content

ChinaLym/shoulder-framework

Repository files navigation

Based on Spring Boot dedicated to simplify development, improve efficiency. Hope to become the best partner for Spring Boot.

AUR

📖Introduction 中文 language

Shoulder Framework is a plug-in for Spring Boot and provides some useful functions to speed up development! Some examples of functions:

  • AOP logging/exception handling
  • One config switch to cluster mode
  • Log tracking and collecting
  • Multi-language / I18n
  • Fully automatic dynamic dictionary
  • Global ID Generator
  • Unified message format
  • Operation Audit
  • Multiple verification codes
  • Asynchronous upload and download
  • Top Secret Communications
  • Embedded DB / Redis

🔥 Sample project: GitHub, Gitee

🆚Compare with other web frameworks


🚀 Quick Start

Through the simple in 👉 Demo 👈 (github/ gitee), feel the elegant coding experience brought by Shoulder.

Using in an existing Spring-Boot project

Just add the module you want to use, for instance, if you want to use shoulder-web's dynamic dictionary ability, simply include the corresponding starter:

<dependency>
    <groupId>cn.itlym</groupId>
    <artifactId>shoulder-starter-web</artifactId>
    <version>0.8.1</version><!-- shoulder-version -->
</dependency>

Create a Shoulder project via maven-archetype

Shoulder provides a maven archetype to quickly create projects. Just ensure you have JDK17+ and Maven installed locally.

  1. Open terminal.
  2. Run the following command to generate a new Shoulder project:
mvn archetype:generate \
  -DarchetypeGroupId=cn.itlym \
  -DarchetypeArtifactId=shoulder-archetype-simple \
  -DarchetypeVersion=0.8.1 \
  -DgroupId=com.yourcompany \
  -DartifactId=yourappName \
  -Dversion=1.0-SNAPSHOT

Manually creating a new project

Just use the following pom.xml directly, the only difference from a Spring Boot project is the difference <parent> of `pom.xml.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- for global version control. include spring-boot-parent -->
    <parent>
        <groupId>cn.itlym</groupId>
        <artifactId>shoulder-parent</artifactId>
        <version>0.8.1</version><!-- shoulder-version -->
    </parent>

    <groupId>com.demo</groupId><!-- your groupId -->
    <artifactId>hello-shoulder</artifactId><!-- your artifactId -->
    <version>1.0.0-SNAPSHOT</version><!-- your version -->

    <dependencies>
        <!-- add module with version tag like using spring-boot-starter -->
        <dependency>
            <groupId>cn.itlym</groupId>
            <artifactId>shoulder-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

❓FAQ

See FAQ Document

More: Ability.mdRoadmap

✨Applicable scenarios

  • Graduation Project, Outsourcing Project: Rapid development based on provided capabilities.
  • Microservice base framework: Shoulder follows coding standards when designing, and has unified coding interfaces and products, making it easy for development/operation and maintenance teams to maintain.
  • Internal framework development: Shoulder is designed to fully absorb the ideas of Spring Boot and focus on scalability, which allows some companies/organizations who want to build internal frameworks to quickly develop internal frameworks.

✈ Planning & Development Roadmap

Shoulder aims to be a complete re-usable platform (PaaS), where users only need to focus on their business logic. Here is the overall outlook:

  • Shoulder iPaaS iPaaS Basic middleware environment: Shoulder offers dependency middleware Docker images or deployment guides (e.g., databases, message queues, service registration centers, task scheduling centers, search engines, alarm and monitoring systems, etc.).
  • Shoulder Specific manuel of development, see * the best practices of elegant software design and development*
  • Shoulder Framework This project, aims to encapsulation of common capabilities, reducing code redundancy and lowering system development and maintenance costs.
  • Shoulder Platform General business platform, provides user platform, payment platform, notification center, business gateway, data dictionary, global ID generator, and other basic, common business capabilities.
  • Shoulder Platform SDK Provides SDKs to facilitate business layer integration.

Relevant Project

Project Name Open Source URLs Description
Shoulder Framework githubgitee a Java WEB framework based on Spring Boot while provides a set of common capabilities.
Shoulder Platform githubgitee SaaS platform, provides user, payment, notification gateway and other common services...
shoulder-framework-demo githubgitee Shoulder Framework Demos
shoulder-plugins githubgitee a maven plugin for shoulder-framework aiming reduce code.
shoulder-lombok githubgitee a library based on lombok,provide an annotation @SLog to simplify code.
shoulder-lombok-idea-plugin githubgitee a IDEA plugin based on lombok-idea-plugin, to support @SLog in IDEA.
Shoulder iPaaS githubgitee iPaaS platform,introduces how to deploy common middlewares, monitoring systems, basic platforms.

releated_projects.png

📒 Version & Change log

See more in CHANGELOG.adoc.

💗 Contribution

It is appreciated that you can contribute to this project, such as issues, code formatting, comments, bugfix, new features, etc.

See more in How to contribute

📩 Feedback & Contact

Thanks for your 🌟Star🍴Fork🏁PR.

Please feel free to contact with use in issuesor email to cn_lym@foxmail.com . For example: your ideas, expectations~

Shoulder does not seek to be the most widely used, but is committed to becoming the development framework with the best user experience. Any of your usage needs, suggestions, and ideas can be left to communicate with us, Shoulder

Let's help developers around the world use technology better and more securely to help their business take off together!

Wish you overcome any difficulties in your business.

👨‍💼 About author

Participated in Alibaba core system reconstruction and design many times, and guarantees D11 level promotion. Technical exchanges and resume submissions are welcome~

  • This project is a personal project independently developed and maintained by the author in his spare time and is not an official Alibaba product.