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

OSCHINA-MIRROR/noobcc-uum

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

UUM博客

[В режиме онлайн-превью](#в режиме онлайн-превью) | Предисловие | [Обзор проекта](#обзор проекта) | [Особенности проекта](#особенности проекта) | [Структура проекта](#структура проекта) | [Предварительный просмотр проекта](#предварительный просмотр проекта) | [Запуск проекта](#запуск проекта)

В режиме онлайн-превью

Демонстрационный аккаунт: uum2022

Демо-пароль: 123456

Адрес
Портал блога http://uumblog.club/
Система управления бэкендом http://admin.uumblog.club/

Предисловие

UUMблог — это проект, который я разработал в качестве дипломной работы в прошлом году. Тогда я использовал технологии SpringBoot и Vue. Позже я решил изучить текущие тенденции и преобразовал его в микросервисную архитектуру. Также этот проект стал для меня способом познакомиться с новыми технологиями. Я сам разработал архитектуру и требования к проекту, а также реализовал их. Многие технологии были изучены и использованы одновременно, поэтому некоторые решения могут быть не идеальными. Если вы считаете, что есть проблемы, вы можете перепроектировать их самостоятельно.

Обзор проекта

UUMблог — это система блога с передним и задним концами на основе микросервисной архитектуры. Бэкенд использует SpringCloud + SpringBoot + Mybatis-plus для разработки, использует Jwt + Spring Security OAuth2 для аутентификации и авторизации, использует ElasticSearch для полнотекстового поиска и использует RabbitMq для отправки сообщений. Фронтенд использует Vue + ElementUi.

Особенности проекта

  • Проект использует современные технологии, без чрезмерной пользовательской упаковки, легко понять, изучить и расширить;
  • SpringBoot, SpringCloud — готовые решения для микросервисов «всё в одном»;
  • Spring Security OAuth2, Spring Cloud Gateway, JWT для унифицированной аутентификации, авторизации и общих режимов авторизации OAuth2;
  • Nacos в качестве службы обнаружения и конфигурации центра;
  • Микросервисы объединяют Swagger и интегрируют Knife4j для унифицированного управления интерфейсами;
  • RabbitMQ для очередей сообщений, используемых для отправки электронной почты и реализации статей, публикуемых в режиме реального времени, для отправки пользователям в сети;
  • ElasticSearch в качестве полнотекстовой поисковой системы и автоматического завершения поиска;
  • Облачное хранилище Alibaba OSS;
  • Дизайн управления правами RBAC, гибкий контроль прав, контроль разрешений на уровне кнопок, удовлетворение большинства потребностей в правах.

xxx-api: предоставляет интерфейс для вызова других микросервисов этого сервиса.

xxx-boot: основная бизнес-логика этого сервиса.

uum
├── uum-admin              -- сервис системы
      └── admin-api 
      └── admin-boot 
├── uum-auth               -- сервис аутентификации
      └── auth-api
      └── auth-boot
├── uum-blog               -- блог-сервис
      └── blog-api
      └── blog-boot
├── uum-commons 
      └── common-aop           -- AOP для записи операций в системе
      └── common-core       -- пакет общих модулей
      └── common-mybatis-plus -- конфигурация Mybatis-Plus
      └── common-redis       -- конфигурация Redis
      └── common-web       -- конфигурация веб-интерфейса, такая как глобальная обработка исключений, общие инструменты и т. д.
├── uum-gateway             -- шлюз
├── uum-mq                    -- служба сообщений
      └── mq-api
      └── mq-boot
├── uum-oss                -- сервис хранения объектов
      └── oss-api
      └── oss-boot    
├── vue-uum-admin           -- бэкенд UUM блога (фронтенд)
├── vue-uum-door            -- портал UUM блога (фронтенд)

Предварительный просмотр проекта

Запуск проекта

Запуск бэкенда

Запуск на локальном компьютере

  1. Установка промежуточного программного обеспечения (🔴 обязательное, ⚪ необязательное)

    • 🔴MySQL 5.7
    • 🔴Redis
    • 🔴ElasticSearch 7.4.2
    • ⚪RabbitMQ (не установлен, не может использовать функцию push-уведомлений и отправлять электронные письма при регистрации)
  2. Создание базы данных и инициализация данных

    Зайдите в каталог docs/sql.

    • База данных системы

      Выполните сценарии uum-blog.sql и uum.sql, чтобы создать таблицы данных и заполнить данные.

    • База данных Nacos

      Выполнить сценарий nacos_config.sql для инициализации базы данных Nacos.

  3. Конфигурация и запуск Nacos

    • Постоянное хранение конфигурации Nacos в MySQL

    Перейдите в файл конфигурации conf в каталоге Nacos и измените файл application.properties.

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=123456
    • Запустите Nacos

    Переключитесь в каталог bin Nacos, выполните команду startup -m standalone, чтобы запустить службу Nacos.

    • Импортируйте конфигурацию Nacos

    Откройте браузер, введите адрес консоли Nacos http://localhost:8848/nacos в адресной строке;

    Введите имя пользователя/пароль: nacos/nacos;

    Войдите в консоль, нажмите «Управление конфигурацией» → «Список конфигураций» на левой панели, чтобы перейти на страницу списка, и нажмите «Импорт конфигурации», чтобы выбрать файл DEFAULT_GROUP.zip в папке docs/nacos.

    • Измените конфигурацию Nacos

    На странице списка конфигурации Nacos выберите общую конфигурацию uum-common.yaml для редактирования и измените информацию о промежуточных программах, таких как MySQL, Redis и RabbitMQ, на вашу собственную среду локального компьютера, которая по умолчанию является конфигурацией онлайн-среды.

    • Изменить адрес центра конфигурации Nacos

    Пакетно замените адрес центра конфигурации в файле конфигурации bootstrap-dev.yml каждого приложения на адрес центра конфигурации вашей локальной среды http://localhost/8848, который по умолчанию является адресом центра конфигурации онлайн-среды.

  4. Создать индекс Elasticsearch

    Перейдите в каталог docs/elasticsearch.

    В kibana последовательно выполните файлы blog-info и blog-search-suggest.

  5. Запустить службу

  • Перейдите в модуль uum-gateway, запустите класс GatewayApplication для запуска шлюза;

  • Перейдите в модуль uum-auth, запустите класс AuthApplication для запуска центра аутентификации;

  • Перейдите в uum-admin → admin-boot, запустите класс AdminApplication для запуска системной службы;

  • Затем последовательно запустите blog-admin, mq-admin и oss-amdin, запустив их таким же образом, как и uum-admin;

  • Посетите адрес документа интерфейса http://localhost:10000/doc.html, чтобы проверить его.

Запустить фронтенд

  1. Установите среду Node на вашем компьютере.
  2. Выполните npm install.
  3. Выполните команду npm run dev.

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

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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