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

OSCHINA-MIRROR/xcOschina-freeter-admin

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

Фронт-енд система управления сайтом, корпоративный фреймворк быстрого развития

Технологический выбор

  • Центр регистрации: ZooKeeper
  • Распределенная система управления: Dubbo
  • Основной фреймворк: Spring Boot
  • Фреймворк безопасности: Apache Shiro
  • Шаблонизатор: FreeMarker
  • ORM-фреймворк: MyBatis и MyBatis-plus
  • База данных: Alibaba Druid
  • Кэширование: J2Cache, Redis
  • Логирование: LogBack
  • Инструментальные библиотеки: Apache Commons, HuTools
  • Веб-фреймворк: Spring MVC
  • Таймер: Quartz
  • База данных: Druid
  • Логирование: logback
  • Интерактивность страниц: Layui
  • Выпадающие списки: Bootstrap Select
  • Загрузка файлов: Bootstrap File Input
  • Живое перезапускание: JRebel
  • Валидация: Hibernate Validator

Основные характеристики

  • Цель проекта Flyte: приближение к искусственному интеллекту.
  • Горячие модули интернет-магазина, включая множество других модулей.
  • Система генерации кода, позволяющая создавать код непосредственно в IDE (Eclipse и IntelliJ IDEA).
  • Введение двухуровневой системы кэширования J2cache, используемой в OSChina.
  • Гибкая система контроля доступа, позволяющая контролировать права доступа до уровня кнопок.
  • Полная система управления отделами и данными с использованием аннотаций для контроля прав доступа.
  • Полная защита от XSS атак с помощью белых списков.
  • Поддержка распределенной среды, где сессии хранятся в Redis.
  • Дружественный код и подробные комментарии для удобства чтения и повторного использования.
  • Введение задач Quartz для динамического управления задачами.
  • Интерактивность страниц с использованием Layui и Vue.js, что значительно повышает производительность разработки.
  • Введение поддержки Swagger для удобного создания API-документации.
  • Предоставление системы генерации кода, которая может создать аннотации проверки Hibernate Validator, аннотации Swagger UI, SQL запросы для пагинации нескольких таблиц, код модулей backend (контроллеры до представлений), код мобильных модулей (интерфейсы).

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

  • freeter-coding
  • freeter-admin (управление административной частью сайта)
  • freeter-common (общие компоненты)
  • freeter-good (компонент товаров)
  • freeter-user (компонент пользователей)
  • freeter-job (компонент задач)
  • freeter-api (компонент API для мобильных устройств)
  • freeter-generator (независимый модуль генерации кода)

Модули интернет-магазина

  • Список каналов: можно рассматривать как первичную категорию, специальную категорию, под которой могут быть видео, изображения и так далее.
  • Категоризация товаров: вторичная категоризация, товары могут быть переопределены во второй категории, первая категория может быть переопределена.
  • Спецификация товаров: общие спецификации, связанные со спецификациями первой категории. Спецификации товаров могут быть сброшены или удалены.

Требования программного обеспечения

  • JDK 1.8
  • MySQL 5.5+
  • Tomcat 8+
  • Maven 3.0+

Локальное развертывание

  1. Склонируйте проект https://gitee.com/xcOschina/freeter-admin.git через git, затем импортируйте его в вашу IDE.
  2. В Eclipse выберите File -> Import... -> Maven -> Existing Maven Projects и выберите корневую директорию проекта.
  3. IDE автоматически скачает зависимости Maven и скомпилирует проект. Если возникнут ошибки, выполните update project... и убедитесь, что правильно настроено окружение JDK.
  4. Выполните doc/freeter.sql для инициализации базы данных [в соответствии с потребностями].
  5. Измените параметры подключения к базе данных в конфигурационном файле src/main/resources/application.yml.
  6. Конфигурируйте j2cache:
    • config-location: /cache/j2cache-no.properties (не использовать кэширование)
    • config-location: /cache/j2cache-redis.properties (использовать Redis для вторичного кэширования)
    • config-location: /cache/j2cache-caffeine.properties (использовать Caffeine для первичного кэширования)
  7. В каталоге freeter-coding выполните mvn clean install.
  8. Как запустить проект:
    • В Eclipse или IntelliJ IDEA запустите AdminApplication.java, чтобы начать проект [freeter-admin].
    • Адрес для доступа к freeter-admin: http://localhost:8080/freeter-admin/index.html
    • Логин/пароль: admin/admin

Демо проекта back-end

Как общаться, давать обратную связь и участвовать в развитии?

  • Разработка документация: https://gitee.com/xcOschina/freeter-admin.git
  • Официальный бесплатный QQ-чат: 806251058 Flyte Open Source Technology Exchange
  • Репозиторий Gitee: https://gitee.com/xcOschina/freeter-admin.git
  • Репозиторий GitHub: временно не планируется, поддержка национальных технологий
  • Чтобы следить за последними новостями проекта, проследуйте за проектом и отметьте его звездочками, это также является лучшей поддержкой проекта.
  • Обсуждение технологии, вопросы и предложения по вторичному использованию, обращайтесь в официальный бесплатный QQ-чат, я буду готов ответить вам в первую очередь!
  • Сканируйте QR-код и подписывайтесь на WeChat [Flyte Open Source], чтобы получить последние новости проекта и уведомления о новых версиях, пока эта возможность не активирована.
  • Нажмите ссылку, чтобы присоединиться к чату [Flyte Open Source Technology Exchange]: https://jq.qq.com/?\_wv=1027&k=5DJ0G9i

Система генерации кода

Проектная структура

Input image description

Поиск по ключевым словам с использованием аннотаций

Input image description

Автоматически сгенерированные сущности back-end модуля

@TableName("cn_good")
@ApiModel(value = "Good")
public class GoodEntity<T> implements Serializable {

    private static final long serialVersionUID = 1L;

    public GoodEntity() {}

    public GoodEntity(T t) {
        try {
            BeanUtils.copyProperties(this, t);
        } catch (IllegalAccessException | InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * ID товара
     */

    @TableId
    @ApiModelProperty(value = "ID товара", hidden = true)
    private Integer goodId;

    /**
     * Наименование товара
     */
```    @NotBlank(message = "Название товара не должно быть пустым")
    @ApiModelProperty(value = "Название товара")
    private String goodName;

Маппер с автоматически сгенерированными внешними ключами для многотабличного запроса

<select id="selectListView"
       resultType="com.freeter.modules.pc.entity.view.StudentView">
    SELECT student.*
    FROM t_student student
         LEFT JOIN t_professional professional ON professional.professional_id = student.professional_id
         LEFT JOIN t_school school ON school.school_id = student.school_id
    <where>1=1 ${ew.sqlSegment}</where>
</select>

Благодарности

  • Baomidou / MyBatis-Plus
  • Хунцзу / J2Cache

Пожертвование

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

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

Введение

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

Обновления

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

Участники

все

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

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