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

OSCHINA-MIRROR/helixin-aicode

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

AI Code

Техническая коммуникация qq группа: 839360512.

Проект поддерживает способ запуска k8s docker, который позволяет легко и быстро приступить к работе за 5 минут. Проект прошёл через 10 проектов, включая проекты с финансированием, многократно модифицированные и интегрированные шаблоны, которые являются очень практичными. Новые функции добавляются в соответствии с правилами, и ожидается обратная связь и опыт использования от всех участников.

Это основанный на Freemarker код-генераторный фреймворк. В настоящее время проект поддерживает обратное генерирование кода Java из SQL. Степень генерации кода зависит от используемого шаблона. В интегрированных шаблонах есть следующее:

  • swagger lombok;
  • spring-cloud (полный набор);
  • angular;
  • springboot;
  • rocketmq kafka rabbitmq dubbo;
  • mysql tidb postgresql cockroachdb redis jetcache ignite;
  • es.

Шаблоны доступны по адресу: https://gitee.com/helixin/aicode_template.

В скрипте SQL сварены шаблоны, которые будут автоматически загружены при создании проекта. После создания кода шаблоны будут удалены. Вы можете открыть исходный код своих шаблонов в этом соединении или создать частный репозиторий для собственного использования. Цель состоит в том, чтобы повторно использовать код, написав шаблонную технологию и абстрактное мышление для большего количества проектов.

Вышеупомянутые рамки являются основными и часто используемыми. Сейчас нужно только подготовить SQL-скрипт на этой странице проекта, а затем aicode автоматически создаст базу данных для обратного генерирования кода. Он автоматически загрузит фреймворки из репозитория шаблонов и создаст код от dao->service->ctrl->frontend. Интерфейсы будут автоматически подключены в соответствии с правилами. То есть вы можете сгенерировать код и сразу запустить свой проект. Кроме того, код проекта будет настроен на адреса git svn, а затем автоматически отправлен в соответствующий репозиторий, что избавляет от необходимости вручную копировать код. Просто выполните git clone git://xxxxx.git в среде разработки. Если шаблон превосходен, он может сэкономить около 50% кода без дополнительной разработки, например, включая: добавление, удаление, изменение, поиск, разбиение на страницы, условия поиска, связанные запросы, связанные с разбиением на страницы запросы и т. д. Вам нужно только убедиться, что ваши логические отношения и модельные отношения установлены правильно для автоматической генерации. Мы предоставляем интерфейс управления web-ui, который требует только входа в систему для завершения генерации кода. Вы можете завершить настройку отношений модели и отображение свойств через страницу, чтобы быстро завершить разработку от слоя базы данных до слоя страницы.

Особенности

Подобно тому, как Jenkins упаковывает собственный код, ai-code отличается от других открытых проектов интеграцией технических рамок и абстракцией MVC. У нас есть сценарий, когда появляются новые бизнес-требования, мы обычно используем существующий проект, удаляем и изменяем его, чтобы извлечь относительно чистый фреймворк, а затем создаём новую бизнес-модель, сущности и интерфейсы и т.д., чтобы создать новый проект на основе этого. Часто мы не хотим повторять эти шаги, но вынуждены это делать. Обычно мы тратим много времени на создание CRUD-кода. Иногда мы чувствуем, что это бессмысленно и скучно. Согласны ли вы поднять руку? Поэтому возникает вопрос, можем ли мы создать инструмент, который позволит нам создавать код после проектирования нашей собственной модели данных с помощью SQL-скриптов? Инструмент может выбирать различные технические рамки и объединять их, подобно spring boot, но также может автоматически разрабатывать общие функции, такие как mybatis mapper, dao/dto, service, ctrl, ui? Можем ли мы интегрировать общие инструменты, алгоритмы шифрования и другие общие функции? Например, swagger, gradle, maven и т.д. Ответ положительный. ai-code — это идея. Интеграция даёт вам возможность настраивать, бизнес-модели могут меняться произвольно, просто возьмите SQL-скрипт, и всё готово. Больше не нужно тратить время на повторяющиеся и бессмысленные задачи. Вот основная идея и концепция ai-code;

Давайте посмотрим на обычную идею открытого исходного кода. Полноценный проект, такой как модель RBAC для системы управления, имеет разрешения, области, отделы, журналы и т.д., которые действительно универсальны, но если вы хотите объединить их со своим собственным проектом, вам придётся внести коррективы. Кодирование привычек разное, дизайн правил может быть неудовлетворительным, обслуживание медленное и так далее. Однако ими можно пользоваться. Таким образом, появились различные коммерческие решения: торговые центры с открытым исходным кодом, системы управления доступом с открытым исходным кодом и региональные системы управления с открытым исходным кодом. Можно обратить внимание на изучение, которое является отличным и даже напрямую используется.

Эти две идеи рассматривают проблему повторного использования с разных точек зрения. ai-code просто хочет бросить кирпич, чтобы вызвать нефрит, надеясь на абстрактное мышление, интеграционное мышление и будущее мышление, ожидая появления лучших проектов на основе ai-code. Мы надеемся, что больше людей смогут извлечь из этого пользу и внести свой вклад в технологию шаблонов.

Шаблонные движки

В настоящее время поддерживаются следующие шаблонные движки:

  1. Freemarker.
  2. Beetl.

Использование

База данных

По умолчанию используется база данных h2, совместимая с синтаксисом MySQL.

Адрес после запуска:
http://127.0.0.1:8080/h2
Имя пользователя: sa
Пароль: sa
Расположение: /tmp/aicode

После завершения настройки вы можете напрямую запустить его. По умолчанию порт равен 8080. Откройте браузер и введите http://127.0.0.1:8080/index.html.

Попробуйте войти в систему с учётными данными по умолчанию: admin 888888. Вы можете изменить данные таблицы учётных записей на account в базе данных.

Добавление шаблонов в репозиторий

После входа вы можете добавить свои собственные шаблоны в репозиторий.

Создание проекта

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

(Здесь требуется вход в систему, чтобы просмотреть GIF-анимацию. Ограничение OSC.)

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

Сборка очень проста. Нажмите кнопку, чтобы автоматически завершить сборку проекта, загрузить шаблон, сгенерировать код, отправить его в репозиторий git и удалить журнал вывода веб-сокета для удобного просмотра.

(Здесь требуется войти в систему, чтобы просмотреть GIF-анимацию. Ограничение OSC.)

Затем нажмите кнопку «Создать проект», чтобы начать автоматическую сборку.

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

После генерации кода проекта вы можете найти исходный код в своём репозитории git svn. Вы также можете загрузить исходный код непосредственно в среду разработки и запустить его. Обратите внимание, что необходимо изменить конфигурацию и соединение с базой данных, иначе оно не будет работать. Ниже представлена тестовая демонстрационная страница интерфейса. Я использую Idea, которая является лучшим инструментом разработки Java и не имеет себе равных. Нет ничего лучше, чем использовать лучший инструмент для разработки.

Интерфейс Swagger показан ниже. Я использовал только одну простую таблицу для демонстрации. Ваша сложность может быть настолько сложной, насколько это возможно.

Если вы испытали эффективность генерации кода и абстрактного мышления для преобразования регулярных кодов в шаблоны, вы сможете обслуживать себя дольше. Тогда вы почувствуете, что программирование — это не только кодирование, но и проектирование. Так называемое мастерство достигает высочайшего уровня — «без трюков побеждает трюки» — это означает позволить коду служить вам дольше, чтобы у вас было время учиться большему количеству технологий и знаний. Пусть сегодняшний код будет реализован в будущем, тогда мы должны подумать и сделать это. Давайте с нетерпением ждём вашего обмена и расширения шаблонов. В настоящее время мы работаем над интеграцией распределённых, микросервисных фреймворков RabbitMQ, Kafka и RocketMQ. Позже будет ещё веселее. Ссылка на шаблон: https://gitee.com/helixin/aicode_template

Я надеюсь, что вы и ваша команда будете наслаждаться программированием и сделаете мир более красивым с помощью кодирования.

Способ запуска Docker (рекомендуется)

Docker зависит от образа Dockerhub (что означает, что ваша сеть должна поддерживать доступ). Вы можете использовать обычные команды Docker pull и run, чтобы получить его. Примечание: образ Docker не содержит базы данных. Пожалуйста, используйте скрипт базы данных в проекте для инициализации. Имя базы данных рекомендуется использовать ai_code. Подробные инструкции по использованию Docker см. на сайте https://hub.docker.com/r/hegaoye/aicode.

Вы можете легко выполнить следующие команды, и база данных и программа будут связаны автоматически.

Поиск, просмотр, существует ли изображение aicode
docker search aicode

Извлечение изображения hegaoye/aicode:20210613
docker pull hegaoye/aicode:20210613

Запуск контейнера, обратите внимание на host, username, passowrd, которые необходимо настроить в соответствии с вашим основным именем пользователя MySQL, используя ссылку для подключения aicode-db
docker run -p 8080:8080 --name aicode --restart always -d hegaoye/20210613

Просмотр журнала
docker logs --tail 1000 -f aicode

Перезапуск, остановка, запуск команд контейнера
docker restart|stop|start aicode
``` ```
/*==============================================================*/
/* Table: order                                               */
/*==============================================================*/
create table `order`
(
   id                   bigint not null auto_increment,
   code                 varchar(64) not null comment '编码',
   order_no             varchar(32) not null comment '订单号',   
   primary key (id, code, order_no)
);

alter table `order` comment 'Заказ';

После удаления недопустимых двойных кавычек и проверки корректности SQL-скрипта его можно будет использовать. Необходимо убедиться, что SQL выполняется без ошибок, прежде чем применять его для запуска кода, иначе возможны сбои.

Подпроект

Фронтенд — справочный адрес: https://gitee.com/helixin/ai-code-frontend.

Адрес документации по дизайну: https://gitee.com/helixin/AI-Code-Doc.

Адрес репозитория шаблонов: https://gitee.com/helixin/aicode_template.

Учебник по Docker: https://hub.docker.com/r/hegaoye/aicode.

Адрес демонстрации

http://www.hegaoye.com admin 888888

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

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

Введение

Описание недоступно Развернуть Свернуть
Java и 4 других языков
MIT
Отмена

Обновления

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

Участники

все

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

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