Большое спасибо за ваш вклад в Davinci! Прежде чем вносить свой вклад, пожалуйста, внимательно прочитайте следующие инструкции.
Мы рекомендуем при обратной связи или исправлении ошибок сначала создать Issue для подробного описания ситуации с ошибкой, чтобы сообщество могло найти и просмотреть проблему и код. Обратная связь по ошибкам обычно должна включать полное описание информации об ошибке и воспроизводимый сценарий, чтобы сообщество могло быстро определить причину ошибки и исправить её. Открытые Issue с тегом #bug
должны быть исправлены.
В процессе общения подробно опишите детали, механизмы и сценарии использования новой функции (или рефакторинга), чтобы ускорить её реализацию. Если вы планируете реализовать важную функцию (или провести рефакторинг), обязательно обсудите это с основной командой разработчиков через Issue или другим способом, чтобы мы могли эффективно продвигать её вперёд. Открытые Issue с тегами #feature
— это новые функции, которые необходимо реализовать, а открытые Issue с тегами #enhancement
— функции, требующие улучшения или рефакторинга.
Помощь в ответах на вопросы пользователей в Issue — это ценный способ внести свой вклад в сообщество Davinci; в сообществе всегда будут появляться новые пользователи, и, помогая им, вы также можете продемонстрировать свои профессиональные знания.
Документация пользователя Davinci находится в каталоге docs/, мы используем jekyll в качестве службы документации Davinci, вы можете редактировать файлы Markdown в этом каталоге для улучшения документации.
К сожалению, Davinci в настоящее время поддерживает только китайский язык; но интерфейс проекта зависит от [react-intl], и структура кода также поддерживает интернационализацию. Мы приветствуем вклад в другие языки.
В исходном коде Davinci могут быть созданы временные ветви, но только три из них имеют чёткое значение:
Код переднего и заднего плана Davinci использует один и тот же кодовый репозиторий, но они разделены в разработке. Прежде чем начать разработку, пожалуйста, сначала разветвите проект Davinci на свой собственный Github Repositories, и разработайте на основе своего собственного кодового репозитория Davinci.
Если вы планируете внести свой вклад в код Davinci, мы рекомендуем клонировать ветку dev-0.3 для разработки, так как вероятность конфликтов при объединении PR будет намного меньше.
git clone https://github.com/yourname/davinci.git
Если вы просто хотите настроить некоторые функции для удовлетворения потребностей использования на основе стабильной функциональности, мы рекомендуем клонировать основную ветку для разработки.
git clone https://github.com/yourname/davinci.git --branch master
Исходный код фронтенда находится в каталоге webapp/, скомпилированный файл фронтенда — в каталоге davinci-ui/.
├── app # Основной код приложения
├── assets # Файлы ресурсов
├── components # Общие компоненты
├── containers # Компоненты маршрутизации
├── utils # Общие методы
└── app.tsx # Главный вход приложения
├── internals # Файлы разработки
├── libs # Изменённые зависимости проекта
├── server # Сервер разработки
├── share # Исходный код страницы общего доступа
└── package.json
npm install
npm start
npm run lint
npm run test
npm run build
Конфигурация пользователя находится в корневом каталоге проекта /config/, проектный скрипт запуска и скрипт обновления находятся в корневом каталоге /bin/, код бэкенда и основная конфигурация находятся в каталоге server/, журналы находятся в корневом каталоге /log/. Обратите внимание: здесь все корневые каталоги относятся к каталогу, настроенному переменной среды DAVINCI3_HOME, при использовании IDE для разработки также необходимо настроить переменную среды, например, в Idea приоритет загрузки переменных среды: Run/Debug Configurations
→ Environment variables
→ IDE кэшированные системные переменные среды.
Скрипты
├── bin # Каталог скриптов
├── migration # Скрипт миграции больших версий
├── patch # Скрипт обновления базы данных
├── 001_beta5.sql # Опубликованный патч (имена: «последовательность_версия»)
└── beta.sql # Не опубликованный патч (фиксированное имя)
├── build.sh
├── davinci.sql # Полный скрипт базы данных системы (включая все патчи)
├── initdb.bat # Скрипт инициализации базы данных для Windows
├── initdb.sh # Скрипт инициализации базы данных Shell для Linux, Mac
├── restart-server.sh # Скрипт перезапуска сервера для Linux, Mac
├── run.bat # Скрипт запуска ядра для Windows
├── start.bat # Скрипт запуска сервиса для Windows
├── start-server.sh # Скрипт запуска сервера для Linux, Mac
├── stop.bat # Скрипт остановки сервиса для Windows
└── stop-server.sh # Скрипт остановки сервера для Linux, Mac
Конфигурации пользователя
├── config # Каталог конфигурации пользователя
├── application.yml.example # Шаблон конфигурации приложения
├── datasource_driver.yml.example # Шаблон пользовательской конфигурации
└── logback.xml # Конфигурация журнала
Структура каталогов кода
├── server # Корневой каталог кода сервера
├── src # Исходный каталог
├── main
├── java
└── edp
├── core # Основная конфигурация и общий код
├── davinci # Код бизнес-логики Davinci
├── DavinciServerApplication # Класс запуска системы
└── SwaggerConfiguration # Класс конфигурации Swagger
└── resources
├── generator
├── mybatis # Каталог отображения mybatis
├── templates # Каталог шаблонов электронной почты и Sql
├── application.yml # Файл конфигурации ядра системы
└── banner.txt
└── test # Каталог тестового кода
└── pom.xml # Maven-конфигурация Davinci Server, наследуется от pom.xml корневого каталога проекта
Каталог журналов
├── logs # Корневой каталог журналов
├── **Системный журнал**
sys # системный журнал
└── user # пользовательский журнал
├── opt # журнал операций пользователя
└── sql # журнал SQL-запросов пользователя
Переменные среды
Рекомендуется настроить системную переменную среды DAVINCI3_HOME или переменную среды IDE.
База данных
Конфигурационный файл
Переименуйте файл application.yml.example
в каталоге config/ в application.yml
и настройте соответствующие атрибуты.
Упаковка
Чтобы создать полный пакет выпуска, необходимо изменить соответствующую информацию о версии в файле /assembly/src/main/assembly/assembly.xml в корневом каталоге, а затем выполнить команду mvn clean package
в корневом каталоге.
Для создания пакета сервера можно выполнить команду mvn clean package
непосредственно в каталоге server/.
Руководство по запросу на вытягивание (Pull Request)
<type>(<scope>): <subject>
. Подробнее см. в статье «Руководство по написанию сообщений о фиксации и журнала изменений» от Руань Ифэна.Стандарты проверки
Прежде чем вносить свой вклад в код, полезно узнать, какие типы коммитов приветствуются при проверке. Проще говоря, если коммит приносит как можно больше пользы и как можно меньше побочных эффектов или рисков, вероятность его слияния выше, и проверка будет выполнена быстрее. Коммиты с высоким риском и низкой ценностью практически никогда не объединяются, и их даже могут отклонить без рассмотрения.
Если вы внесли значительный вклад в PR проекта Davinci, который был объединён, вы можете оставить комментарий в этом Issue или связаться с основной командой разработчиков через официальный WeChat-группу, чтобы подать заявку на участие в проекте Davinci в качестве коммиттера. Основная команда разработчиков и другие коммиттеры проведут голосование, чтобы решить, разрешить ли вам присоединиться. Если вы получите достаточное количество голосов, вы станете коммиттером проекта Davinci.
Если вы являетесь коммиттером проекта Davinci и ваш вклад получил одобрение других членов комитета, вы можете подать заявку на вступление в комитет Davinci. Другие члены комитета проведут голосование, чтобы определить, разрешить ли ваше присоединение. Если все проголосуют «за», вы станете членом комитета Davinci.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )