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

OSCHINA-MIRROR/haohandongku-Creek

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

Перевод текста на русский язык:

Очень рад, что вы заинтересовались этим проектом. Этот проект примечателен тем, что представляет собой архитектурный план корпоративного уровня. Однако всё меняется, и некоторые аспекты этого проекта уже не соответствуют современным технологиям. Поэтому в дальнейшем планируется техническое обновление фреймворка, но общая концепция архитектуры останется неизменной. Архитектура выглядит следующим образом:

  • Фронтенд: webpack + eggjs + vue (полный набор инструментов) + vant (мобильный интерфейс) + elementUI (интерфейс для ПК).
  • Бэкенд: springboot + mybatis + maven.
  • База данных: mysql + redis + mongodb.
  • Развёртывание: контейнеры Docker. Проект уже используется в корпоративной разработке и является стабильным. В настоящее время идёт его доработка. Ждём ваших отзывов!

Creek-dam — это не просто архитектура, а целая система разработки, которая стремится создать комплексное решение для корпоративного развития, охватывающее следующие аспекты:

  • Архитектура фронтенда: автоматизированная архитектура — распределённая архитектура бэкенда — корпоративные базовые проекты — автоматизированное управление полным стеком — мониторинг системы.

Creek-dam предлагает полный стек архитектурного решения, начиная с автоматизированной сборки фронтенда на основе nodejs и заканчивая распределённой архитектурой бэкенда на Java, а также платформой автоматизации управления на Python. Цель — быстрая сборка, разделение фронтенда, непрерывная интеграция и однократное развёртывание.

Техническая структура:

  1. Creek — это набор инструментов фронтенда, реализованный на nodejs + express + fis3 + bootstrap + Handlebars + jquery + seajs. Корпоративная версия основана на nodejs + eggjs + webpack + vuejs.
  2. Dam — это распределённая система быстрой разработки на основе sca-стандарта SOA. Фреймворк использует SpringFramework + mybatis + mysql + redis.
  3. Nova — это платформа для управления проектами, журналами мониторинга, многопользовательскими приложениями и серверами, а также для автоматизации построения и управления системами. Она основана на django и celery.
  4. Code-factory — это проект для автоматического создания кода.

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

(1) Основной фреймворк: Spring Framework. (2) Кэширование: redis + ehcache. (3) Фреймворк безопасности: Springscurity. (4) Фреймворк представления: servlet. (5) Фреймворк постоянного слоя: MyBatis. (6) База данных: MySQL. (7) Таймер: Quartz. (8) Фреймворк фронтенда: jquery, bootstrap, seajs, nodejs, express, fis3, pm2, bower. (9) Архитектура мобильного интерфейса: nodejs, express, fis3, vue (полный набор инструментов). (10) Платформа управления: django, celery, fabric. (11) Вспомогательные технологии: Sinopia, SVN. (12) Генератор кода: freemarker.

Функции проекта

(1) Управление правами: на стороне nodejs реализован компонент creek-scurity для контроля меню, кнопок и прав доступа для организаций и отделов (права доступа к данным). (2) CAS (единый вход): на стороне nodejs реализованы компоненты creek-oss-client/creek-oos-server для обеспечения единого входа в систему для нескольких систем. (3) Кэширование: использование redis + ehcahe для интеграции shiro и пользовательского sessionDao для реализации распределённого кластера с общим сеансом. Redis можно использовать как в одиночном режиме, так и в кластерном режиме с режимом сторожевого узла. Можно гибко переключаться между режимами. (4) Платёж: реализация функций оплаты через WeChat/Alipay/UnionPay для сторонних публичных платформ. (5) Сервер сообщений: использование redis для реализации механизма подписки/публикации сообщений. (6) SMS: реализация групповых SMS-рассылок с возможностью динамического переключения поставщиков услуг и настройки соответствующих шаблонов SMS для сторонних публичных платформ. (7) WeChat: реализация управления публичными аккаунтами WeChat и управления мини-программами WeChat для соответствующих сторонних публичных платформ WeChat. (8) Сканеры: интеграция двух популярных сканеров Java. (9) Система управления контентом: возможность динамически добавлять, изменять, удалять, приостанавливать, возобновлять и просматривать журналы контента. (10) Кварцевые задачи: возможность динамического добавления, изменения, удаления, приостановки, возобновления и просмотра журналов задач. (11) Java-RPC: собственная удалённая служба dam-ieds на уровне фреймворка для распределённого развёртывания. (12) Генерация кода: использование freemarker для генерации проектов фронтенда и бэкенда. (13) Платформа nova: сборка и развёртывание проектов, мониторинг журналов платформы, управление несколькими приложениями и серверами, автоматизация построения системных сред.

Программное окружение

(1) JDK 1.8. (2) MySQL 5.7.17. (3) Tomcat 8.5. (4) Redis 3.07. (5) MongoDB 3.7.0. (6) Nginx 1.8.1. (7) Nodejs 4.5. (8) Express >4. (9) Sinopia — частный npm-прокси. (10) Bower + SVN — частная библиотека компонентов. (11) Python 2.7.3. (12) Django 1.0.2. (13) Celery. (14) GateOne (бастион). (15) Eclipse + VSCode + PyCharm (инструменты разработки).

Архитектура программного обеспечения

Общая архитектура

![Общая архитектура](https://images.gitee.com/uploads/images/2018/0719/121026_a83f4154_346157.png «Общая архитектура»).

Архитектура фронтенда

Разделение фронтенда и бэкенда

Разделение фронтенда и бэкенда.

Архитектура фронтенда

Архитектура фронтенда.

Архитектура бэкенда

Архитектура бэкенда.

Процесс сборки и развёртывания

Процесс сборки фронтенда и бэкенда

Процесс сборки фронтенда и бэкенда.

Автоматизированный процесс развёртывания на платформе nova

Автоматизированный процесс развёртывания.

Эффект от использования корпоративных базовых сервисов

Эффект от использования корпоративных сервисов. Структура каталогов проекта Creek выглядит следующим образом:

Creek
404
500
bin
components
doc
modules
static
web
apps

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

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

Введение

Creek-dam-nova — это комплексное архитектурное решение полного стека. Это не просто архитектура, а целая система разработки полного стека, которая стремится создать комплексное корпоративное решение для разработки, включающее в себя: * автоматизированную архитектуру переднего плана; * распределённую архитектуру заднего плана; * корпоративные баз... Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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