Прежде всего, команда разработчиков Ideoxan хотела бы лично поблагодарить вас за то, что вы нашли время, чтобы внести свой вклад в наш проект и сообщество!
Этот документ содержит всю необходимую информацию, чтобы внести свой вклад в идеоксанский проект. Если у вас есть какие -либо вопросы, свяжитесь с нами по адресу [email protected].
Этот проект поддерживается и управляется в соответствии с официальным кодексом поведения проекта. Согласие с его условиями, наряду с официальными условиями обслуживания Идеоксана, Политика конфиденциальности Идеоксана и включенная лицензия (MIT) необходим для внесения вклад в проект этой организации.
Среда выполнения Node.js требуется для запуска бэкэнд -сервера (что служит на веб -сайте). Версии выше 10.x поддерживаются. Предполагается, что использовать узел 13.x NPM также требуется, но обычно поставляется с Node.js. Вы можете проверить версию node.js, выполнив
node -vGIT CLI необходим для загрузки кода из репозитория.
Современный браузер, который поддерживает спецификации ES6 для JS, необходим для просмотра веб -сайта Chrome/Chromium, Firefox и Safari.
В то время как MongoDB не требуется на 100% для запуска веб -сайта, мы предлагаем вам установить его в любом случае, чтобы использовать логики и проверку пользователей. Чтобы установить MongoDB, см. Их руководство по документации. Убедитесь, что сервер работает на localhost или в другом месте, указанном в локальном списке или системных переменных среды
Используйте следующее, чтобы загрузить репозиторий и установить необходимые пакеты:
git clone https://github.com/ideoxan/ideoxan.git
cd ideoxan
npm install Сервер поддерживает использование как системных, так и локальных переменных среды. Если вы не можете установить общесистемную переменную среды, то создайте файл .env в основном идексанском каталоге. Убедитесь, что ваша среда узла не подходит для production иначе переменные среды не будут использоваться локально. Ниже приведен список использованных переменных среды. Если кто -либо из них противоречит, сообщите нам.
MONGO_URI
EXPRESS_SESSION_SECRET
PWD_HASH Переменная среда MONGO_URI используется для установки URI базы данных MongoDB. Этот URI должен быть действительной строкой Mongouri. По умолчанию mongodb://localhost:27017/ix
Переменная среда EXPRESS_SESSION_SECRET - это секрет, который будут использовать все сеансы, аутентифицированные с этим сервером. Лучше всего сохранять это безопасное и безопасное, так как это можно использовать для аннулирования, изменения и подделки (что не очень хорошо). Держите это как можно длинным и сложным. По умолчанию не существует по умолчанию.
Переменная среда PWD_HASH является целочисленным значением, которое используется для хэш -паролей в модуле BCRYPTJS. Держите номер достаточно высоко, где пароли безопасны, но достаточно низкие, чтобы он не заставляет сервер замедляться. Опять же, по соображениям безопасности нет значения по умолчанию.
Если вы хотите внести свой вклад в курс или урок, пожалуйста, посмотрите другие наши репозиции GitHub с префиксом curriculum- . Все наши руководства по учебным программам хранятся на GitHub (не все общедоступны) и хранятся сервер по /static/curriculum и запрашиваются стороной клиента в соответствии с статическим экспресс -каталогом ( /static ). Учебная программа не включена в редактор, веб -сайт или какое -либо содержание. При GIT эти курсы включены в качестве подмодулей и могут быть установлены в каталоге учебных программ с помощью следующего:
git submodule init
git submodule update --recursiveЭто будет клонировать, привлекать и вытащить все общедоступные курсы. Если вы хотите узнать больше о подмодулях GIT и о том, как они работают, нажмите здесь.
Есть две основные ветви, которые используются: master и prod . Филиал prod - это то, что отправляется для производства и развертывания. Мы стараемся обновлять эту ветвь только так часто, когда это необходимо (горячих вспомогательных аппаратов медленнее). master -филиал - это то, куда идет большинство наших новых коммитов. Думайте об этом как о свежей ночной системе сборки. Хотя в этом филиале есть новый код, это не означает, что он самый стабильный. Если вы планируете использовать это в долгосрочной перспективе и не хотите обновлять каждые 20 минут, мы предлагаем вам использовать ветвь prod .
Есть три варианта запуска сервера.
Режим разработчика - это команда для запуска сервера на машине разработки. Это позволяет легко редактировать и быстрое запуск сервера. Он полагается на пакет Nodemon, поэтому убедитесь, что зависимости разработчика, изложенные в файле package.json , установлены через NPM.
Чтобы запустить сервер локально использовать:
npm run devЧтобы запустить сервер без дополнительных функций, запустите:
npm run startЭто автоматически обновляет любые включенные подмодули, а затем запускает сервер. В качестве альтернативы, сервер можно запустить так же, как и любой обычный проект Node.js:
node server.jsЭтот метод не используется, поскольку этот вариант лично адаптирован для конкретных серверов, используемых Ideoxan.
Это требует, чтобы PM2 был установлен во всем мире .
npm run serverЕсли это не работает, используется:
pm2 start server.js --name ideoxan --max-memory-restart 500M --watch --cron " 0 2 * * * " Прежде всего, если вы считаете, что проблема, относящаяся к безопасности, не откройте проблему. Сообщите об ошибке напрямую нам по электронной почте
Проблема, которую вы сообщаете, обычно является проблемой безопасности, когда ...
Если вы испытали какое -либо из вышеперечисленного, это, скорее всего, является результатом возможного риска безопасности и следует сообщать. Неспособность сообщать может привести к возможным судебным искам от нашего имени.
Даже если ваша проблема не соответствует вышеизложенному и все еще считает, что это проблема, связанная с безопасностью, не стесняйтесь по электронной почте. Лучше быть в безопасности, а не сожалеть.
Пожалуйста, проверьте следующее, чтобы убедиться, что вы очистились, чтобы открыть проблему.
Если ваша проблема связана со временем выполнения Node.js, любой из пакетов/программного обеспечения, который не покрывается/поддерживается Ideoxan, или чем -то еще, то это не подходящее место для подачи вашей проблемы. Если вам нужна помощь, направленную на правильный отслеживание ошибок или руководство по устранению неполадок, не стесняйтесь обращаться к нам. (См. Свяжитесь с нами)
Если вы изменили какой -либо из источника, существует высокая вероятность того, что проблема была вызвана вмешательством. Если проблема все еще сохраняется после возвращения вашего кода, откройте проблему.
Мы не поддерживаем старое программное обеспечение. Пожалуйста package-lock.json проверьте свои версии в отношении тех, которые указаны в package.json master Branch.
Если проблема уже сообщена, и она все еще открыта на нашем GitHub, пожалуйста, прокомментируйте свою проблему, а не открыть новую проблему. Если он все еще не открыт, проверьте его статус. Если в этом есть тег wont-fix , не поднимайте его снова, если вы не увидите его как выдающуюся проблему, и пройдет значительное количество времени. Также проверьте, есть ли решение. Иногда проблемы будут закрыты не потому, что они были помечены как недействительные или было достигнуто решение, а из -за отсутствия активности. Если вы обнаружите, что это так, не стесняйтесь запрашивать проблему, чтобы быть вновь открытым.
Если вы выпускаете, связаны с безопасностью, см. В вопросах безопасности отчетности.
Если вы следили за вышеуказанным и выполнили требования, теперь вы можете открыть проблему. Обязательно используйте описательное название и четко опишите вашу проблему. Обязательно следуйте шаблону отчета об ошибке (решительно предложено). Если вам не удастся правильно описать свою проблему, ваша проблема будет закрыта без объяснения.
Если вы участвуете в кодовой базе (не включает документацию), обязательно следуйте нашим стандартам.
Пожалуйста, проверьте, есть ли уже открытые проблемы, которые можно решить. Если нет, убедитесь, что запрос на притяжение еще не покрывает то, что вы пытаетесь объединить.
Если вы уверены в вышеперечисленном, откройте запрос на притяжение, используя наш PR -шаблон
Если вы предполагаете, что Идексан добавляет новую функцию или расширяет существующую, пожалуйста, откройте проблему, используя шаблон запроса функции
Вскоре
Если у вас есть вопрос или забота, которые не соответствуют вышеуказанному, не стесняйтесь обращаться к нам (см. Свяжитесь с нами)
Этот репозиторий стремится обеспечить совместимость, однородность и общую разборчивость. Мы предлагаем, если вы пытаетесь внести свой вклад в источник этого проекта, вы прочитали следующее.
Вскоре
| Этикетка | Описание | Поиск |
|---|---|---|
| Критическая ошибка | Ошибка, которая препятствует веб -сайту совершенно бесполезно и имеет решающее значение для базовой работы/управления | ? |
| Ошибка (средняя) | Ошибка средней серьезности, которая влияет на значительную часть сайта и/или его пользователей. | ? |
| Ошибка (минимум) | Ошибка с низким приоритетом, которая едва влияет на сайт и/или его пользователей | ? |
| Этикетка | Описание | Поиск |
|---|---|---|
| Дублировать | Проблема, которая представляет собой дубликат предыдущей, закрытой (решенной) проблемы, открытой (ожидающей) вопроса или закрытого запроса на привлечение | ? |
| Не исправят | Проблема, не связанная с проектом или проблемой, которая не может быть решена | ? |
| Неверный | Проблема, которая не имеет распространенности в проекте или не может быть воспроизведена | ? |
| Вопрос | Должна быть предоставлена дополнительная информация, чтобы вопрос был действительным | ? |
| Этикетка | Описание | Поиск |
|---|---|---|
| Веб -сайт | Проблема, связанная с веб-сайтом | ? |
| Сервер | Связанная с сервером проблему | ? |
| Документация | Проблема, связанная с документацией сайта, сервера или API | ? |
| Другой | Проблема, которая не касается ни сайта, сервера, ни документации | ? |
| Улучшение | Предложение для рассматриваемой новой функции или улучшения уже существующего | ? |
| Этикетка | Описание | Поиск |
|---|---|---|
| Требуется помощь | Тег, приведенный для проблемы или запроса на то, что требует внешнего рассмотрения или вклада. Обычно, если это дано, проблема либо из областей знаний о сопровождающих, либо не является наивысшим приоритетом. | ? |
| Хороший первый выпуск | Если вы здесь новичок, это отличное место для начала! Это либо активная проблема, либо хороший пример проблемы для новичков. | ? |
Если вам нужно обратиться, свяжитесь с нами по следующим ссылкам ниже
В будущем будет добавлено больше платформ.