1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/huangdf-seezoon-stack

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Краткое введение

Seezoon Stack разработан с целью быстрой разработки и представляет собой набор инструментов для создания приложений на Java. Проект использует основные фреймворки для разработки, обеспечивая соответствие стандартам крупных компаний в области упаковки, компиляции и развёртывания.

Онлайн-демонстрация

Подробная документация и демонстрация доступны по адресу: https://doc.stack.seezoon.com.

Для доступа к системе необходимо использовать следующие учётные данные:

  • имя пользователя: admin;
  • пароль: 123456.

В настоящее время доступ к серверу Alibaba Cloud истёк, и система временно недоступна.

Некоторые эффекты представлены на следующих изображениях:

image-20210422205522263 image-20210422205553804 image-20210422205738456

Выбор технологий

Seezoon Stack использует передовые технологии для разработки фронтенда и бэкенда.

Основные фреймворки бэкенда включают:

Название фреймворка Адрес фреймворка Описание
Spring Boot https://spring.io/projects/spring-boot Автоматическое конфигурирование
Spring Session Data Redis https://spring.io/projects/spring-session-data-redis Управление состоянием входа
Spring Security https://spring.io/projects/spring-security Вход и контроль доступа
Mybatis https://mybatis.org/mybatis-3/zh/index.html Уровень сохраняемости данных
Springfox https://github.com/springfox/springfox OpenAPI 3 документация

Характеристики

  • JSR303 валидация, стандартные API модели, обработка ошибок и исключений;
  • Отслеживание запросов, добавление заголовка X-Trace-Id в ответ, использование MDC для хранения идентификатора потока в журнале;
  • Сериализация с использованием Redis;
  • Thread pool для RestTemplate, настройка сертификатов и свойств по умолчанию;
  • Асинхронная конфигурация Spring Boot;
  • Поддержка CORS;
  • Автоматическая генерация документации на основе спецификации openAPI 3.0;
  • Интеграция кода между фронтендом и бэкендом;
  • Контроль входа и доступа;
  • Обработка файлов, поддержка дисковых файлов и облачных хранилищ Alibaba OSS;
  • Интернационализация;
  • Общие права доступа к данным;
  • Динамические меню и кнопки.

Функции с низким приоритетом (TODO):

  • SMS-уведомления от Alibaba Cloud;
  • Обработка Excel;
  • Вспомогательные функции для работы с WeChat, включая вход, оплату и другие;
  • Развёртывание и управление на основе облачной инфраструктуры.

Основные фронтенд-фреймворки включают:

Название фреймворка Адрес фреймворка Описание
Vue 3 https://v3.cn.vuejs.org/guide/introduction.html Двусторонняя привязка данных
Vite https://cn.vitejs.dev/ Инструмент сборки
Ant Design Vue 2 https://2x.antdv.com/components/overview-cn/ Компоненты
TypeScript 4 https://www.typescriptlang.org/zh/ Расширение JavaScript
Windi Css https://windicss.org/guide/ CSS-помощник
Iconify https://iconify.design/ Библиотека иконок

Фронтенд основан на Vue vben admin 2.0, который регулярно объединяется с новыми функциями из основной ветки. Для компонентов рекомендуется использовать Ant Design Vue 2, что снижает сложность обучения и обеспечивает основную структуру на TypeScript. Бизнес-логика написана на JavaScript, что делает код более компактным и быстрым для разработки.

Подготовка среды

Необходимые инструменты и библиотеки:

  • JDK 1.8 или выше (рекомендуется 11);
  • Maven 3 или выше;
  • Node 12 или выше;
  • Yarn (устанавливается после установки Node через npm install -g yarn);
  • Redis;
  • MySQL 5.7 или выше (рекомендуется версия 8).

Быстрый старт

Код можно загрузить через IDEA, используя File->New->Project From Version Control или через командную строку. Рекомендуется создать собственный репозиторий и затем импортировать проект туда.

git clone https://github.com/734839030/seezoon-stack.git

Структура проекта:

​```
.
└── seezoon-stack   parent工程
    ├── build 构建所需文件
    │   ├── assembly    生成产出物结构
    │   │   ├── bin     项目脚本
    │   │   ├── conf    配置目录
    │   │   ├── logs    日志目录
    │   │   └── assembly.xml     maven assembly 打包插件描述文件(不打包到产出物)
    │   ├── build.sh    构建脚本
    │   ├── eclipse-codestyle.xml  P3C代码格式,可以自行更新
    │   ├── maven-settings.xml     maven的setting配置(可选)
    │   └── mybatis-generator-config.xml  原生mybatis-generator 描述文件(可选)
    ├── db DB脚本目录
    ├── doc 项目文档及资料维护目录
    ├── seezoon-admin-server  管理端服务
    ├── seezoon-admin-web  后台页面目前fork上游,代码库单独维护稳定后合并
    ├── seezoon-dao    DAO层,方便管理端和C端引用
    ├── seezoon-framework  管理端和C端通用框架层(基础中间件,参数验证,安全控制)
    ├── seezoon-generator  通用代码生成器,可以单独使用也可以供其他组件继承使用
    └── seezoon-user-server  C端服务端TODO
​```
``` **seezoon-stack/seezoon-admin-web**

*yarn install*  
*yarn serve*

# **Доступ к адресу**  
http://localhost:3100/
  • Локальный тестовый сервер файлов (необязательно)

    cd seezoon-admin-web/test/server/upload yarn install yarn start

    После того как файл будет загружен через интерфейс администратора, можно напрямую получить доступ к статическим файлам в каталоге static.

    http://localhost:3001/static/xxxx


## **Развёртывание в рабочей среде**

Структура каталогов в рабочей среде:

/data/ │── cert ├── seezoon-admin-server # Фоновый вывод │ ├── bin │ ├── conf │ ├── logs │ └── work ├── seezoon-admin-web # Фронтенд вывод │ ├── assets │ └── resource └── upload-server Каталог сервера загрузки файлов, по умолчанию используется дисковый файл, при использовании OSS не требуется.


### **😇 Ручное развёртывание — фоновый**

> В производственной среде необходимо установить Java 1.8 +, рекомендуется 11.

Используйте [maven-assembly-plugin](http://maven.apache.org/plugins/maven-assembly-plugin/), чтобы создать структуру каталогов для развёртывания, что удобно для интеграции DevOps.

cd seezoon-admin-server mvn clean package


**Вывод продукта**

`seezoon-admin-server/target/seezoon-admin-server`

**Необходимо поддерживать только каталог conf приложения.properties**, после чего его можно опубликовать.

> Файлы конфигурации и среды разделены, `maven-jar-plugin` упаковывает выходные данные jar, которые будут выводить следующие файлы из каталога ресурсов:

application-local.properties logback-spring.xml


> Если вы не против того, чтобы все конфигурации находились в проекте, вы можете использовать spring boot `--spring.profiles.active`, чтобы выбрать файл конфигурации при запуске команды.

<img src="doc/pictures/image-20210423121842460.png" alt="image-20210423121842460">

### **😇 Ручное развертывание — фронтенд**

cd seezoon-admin-web yarn build


**Выход продукта**

Файлы в `seezoon-admin-web/dist` можно публиковать непосредственно в рабочем каталоге nginx. Приведённая ниже конфигурация nginx предназначена только для справки.

upstream seezoon-admin-server { server 127.0.0.1:8080 max_fails=3 fail_timeout=10s; }

server { listen 80; server_name stack.seezoon.com; rewrite ^(.*)$ https://$host$1 permanent; }

server { listen 443; server_name stack.seezoon.com; ssl on; ssl_certificate /data/cert/stack.seezoon.com.pem; ssl_certificate_key /data/cert/stack.seezoon.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;

# api
location ^~ /api/ {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://seezoon-admin-server/;
}
# Файл сервис
location ^~ /file/ {
    access_log off;
    alias /data/upload-server/;
}

# Статический ресурс
location / {
    access_log off;
    root /data/seezoon-admin-web/;
    index index.html index.htm;
}

}


> Можно настроить сжатие статических ресурсов, поместите конфигурацию в узел nginx.conf http.

Открыть эффект gzip лучше

gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6].";




## Как внести свой вклад

Мы будем рады вашему участию! [Создайте новую проблему](https://github.com/734839030/seezoon-stack/issues/new) или отправьте запрос на вытягивание.

**Запрос на вытягивание:**

1. Fork код! (синхронизация с вышестоящим: git pull https://github.com/734839030/seezoon-stack.git master)
2. Создайте свою собственную ветку: `git checkout -b feat/xxxx`
3. Зафиксируйте свои изменения: `git commit -m 'feat(function): add xxxxx'`
4. Отправьте свою ветку: `git push origin feat/xxxx`
5. Отправить запрос на вытягивание

## Git Руководство по внесению вклада

См. руководство ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))

    - `feat` Добавить новую функцию
    - `fix` Исправить проблему/ошибку
    - `style` Код, связанный со стилем, не влияет на результаты выполнения
    - `perf` Оптимизация/улучшение производительности
    - `refactor` Рефакторинг
    - `revert` Отменить изменение
    - `test` Связанные с тестированием
    - `docs` Документация/комментарии
    - `chore` Обновление зависимостей/конфигурация сборки и т. д.
    - `workflow` Улучшение рабочего процесса
    - `ci` Непрерывная интеграция
    - `types` Изменение файла определения типа
    - `wip` Разработка в процессе

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Платформа для быстрой разработки на основе современных технологий фронтенда (Vue3 + Vite + Antdv) и бэкенда (Spring boot). Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/huangdf-seezoon-stack.git
git@gitlife.ru:oschina-mirror/huangdf-seezoon-stack.git
oschina-mirror
huangdf-seezoon-stack
huangdf-seezoon-stack
master