우선, Ideoxan 개발자 팀은 프로젝트와 커뮤니티에 기여하기 위해 시간을내어 개인적으로 감사합니다!
이 문서에는 Ideoxan 프로젝트에 기여하는 데 필요한 모든 정보가 포함되어 있습니다. 궁금한 점이 있으시면 [email protected]으로 문의하십시오.
이 프로젝트는 프로젝트의 공식 행동 강령에 따라 유지되고 적용됩니다. Ideoxan의 공식 서비스 약관과 함께 이용 약관에 대한 계약, Ideoxan의 개인 정보 보호 정책 및 포함 라이센스 (MIT)는이 조직의 프로젝트에 기여 해야합니다 .
Node.js 런타임은 백엔드 서버를 실행하려면 웹 사이트에 서비스를 제공합니다. 10.x 이상의 버전이 지원됩니다. 노드 13.x 사용하는 것이 좋습니다. NPM도 필요하지만 일반적으로 Node.js와 함께 설치됩니다. 수행하여 Node.js 버전을 확인할 수 있습니다
node -vGit CLI는 저장소에서 코드를 다운로드해야합니다.
JS의 ES6 사양을 지원하는 최신 브라우저는 웹 사이트 Chrome/Chromium, Firefox 및 Safari를 보려면 필요합니다.
MongoDB는 웹 사이트를 실행하는 데 100%가 필요하지 않지만 로그인 및 사용자 확인을 사용할 수 있도록 어쨌든 설치하는 것이 좋습니다. MongoDB를 설치하려면 문서 가이드를 참조하십시오. 서버가 localhost 또는 로컬 또는 시스템 목록에 지정된 다른 위치에서 실행되고 있는지 확인하십시오.
다음을 사용하여 저장소를 다운로드하고 필요한 패키지를 설치하십시오.
git clone https://github.com/ideoxan/ideoxan.git
cd ideoxan
npm install 서버는 시스템 전체 및 로컬 환경 변수를 사용하여 지원합니다. 시스템 전체 환경 변수를 설정할 수없는 경우 기본 Ideoxan 디렉토리에서 .env 파일을 만듭니다. 노드 환경이 production 으로 설정되어 있지 않은지 확인하십시오. 그렇지 않으면 환경 변수가 로컬로 사용되지 않습니다. 다음은 중고 환경 변수 목록입니다. 그들 중 누구라도 충돌하는 경우, 우리에게 알려주십시오.
MONGO_URI
EXPRESS_SESSION_SECRET
PWD_HASH MONGO_URI 환경 변수는 MongoDB 데이터베이스의 URI를 설정하는 데 사용됩니다. 이 uri는 유효한 몽고리 끈이어야합니다. 기본값은 mongodb://localhost:27017/ix 입니다
EXPRESS_SESSION_SECRET 환경 변수는 해당 서버와 함께 인증 된 모든 세션이 사용할 비밀입니다. 이것은 무효화, 수정 및 스푸핑 세션 (좋지 않은)에 사용될 수 있으므로 안전하고 안전하게 유지하는 것이 가장 좋습니다. 이것을 가능한 한 길고 복잡하게 유지하십시오. 보안상의 이유로 인해 기본값이 없습니다.
PWD_HASH 환경 변수는 BCRYPTJS 모듈 내에서 암호를 해시하는 데 사용되는 정수 값입니다. 암호가 안전한 곳에 충분히 높게 유지하지만 서버 속도가 느려지지 않을 정도로 충분히 낮습니다. 다시, 보안상의 이유로 기본값은 없습니다.
코스 나 수업에 기여하려면 curriculum- 의 접두사가있는 다른 Github 저장소를 참조하십시오. 모든 커리큘럼 가이드는 GitHub에 보관되어 있으며 (모두 공개적으로 사용 가능한 것은 아님) /static/curriculum 아래에있는 서버 사이드로 저장되며 Static Express 디렉토리 ( /static ) 아래 클라이언트 측에서 요청합니다. 커리큘럼은 편집자, 웹 사이트 또는 그 내용에 포함되지 않습니다. GIT 하에서이 과정은 하위 모듈로 포함되며 다음을 사용하여 커리큘럼 디렉토리에 설치할 수 있습니다.
git submodule init
git submodule update --recursive이것은 공개적으로 이용 가능한 모든 과정을 복제하고 가져오고 가져옵니다. GIT 서브 모듈에 대해 더 알고 싶다면 여기에서 클릭하십시오.
사용되는 두 가지 주요 지점이 있습니다 : master 와 prod . prod 지점은 생산 및 배치를 위해 발송되는 것입니다. 우리는 필요할 때 마다이 분기 만 자주 업데이트하려고합니다 (핫픽스는 병합이 느려집니다). master 브랜치는 우리의 새로운 커밋의 대다수가가는 곳입니다. 이것을 신선한 야간 빌드 시스템으로 생각하십시오. 이 지점에는 최신 코드가 있지만 가장 안정적인 코드를 의미하지는 않습니다. 장기적으로 이것을 사용할 계획이고 20 분마다 업데이트하고 싶지 않다면 prod Branch를 사용하는 것이 좋습니다.
서버를 실행하는 세 가지 옵션이 있습니다.
개발자 모드는 개발 시스템에서 서버를 실행하라는 명령입니다. 이를 통해 쉽게 편집하고 빠른 서버 시작 할 수 있습니다. 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 또는 다른 제품에 의해 덮고 있거나 유지되지 않은 패키지/소프트웨어 중 하나는 문제를 제기하기에 적절한 장소가 아닙니다. 적절한 버그 추적기 또는 문제 해결 안내서에 대한 도움이 필요한 경우 저희에게 연락하십시오. (문의 참조)
소스를 수정 한 경우, 변조로 인해 문제가 발생했을 가능성이 높습니다. 코드를 반환 한 후에도 여전히 문제가 지속되면 문제를여십시오.
우리는 오래된 소프트웨어를 지원하지 않습니다. master package.json package-lock.json
문제가 이미보고되었고 GitHub에서 여전히 열려있는 경우 새로운 문제를 여는 대신 문제를 언급하십시오. 여전히 공개되지 않은 경우 상태를 확인하십시오. 문제에 wont-fix 태그가 부착되어 있다면, 당신이 그것을 두드러진 문제로 보지 않고 상당한 시간이 지나지 않으면 다시 제기하지 마십시오. 또한 해결책이 있는지 확인하십시오. 때로는 문제가 유효하지 않거나 솔루션에 도달했기 때문에 문제가 아니라 활동 부족으로 인해 문제가 종료됩니다. 이것이 사실이라고 생각한다면, 문제를 다시 열도록 요청하십시오.
문제가 보안과 관련이있는 경우 보안 문제보고를 참조하십시오.
위의 것을 따르고 요구 사항을 충족하면 이제 문제를 열 수 있습니다. 설명 제목을 사용하고 문제를 명확하게 설명하십시오. 버그 보고서 템플릿을 따르십시오 (강력하게 제안). 문제를 제대로 설명하지 않으면 설명없이 문제가 종료됩니다.
Codebase (문서 포함되지 않음)에 기여하는 경우 표준을 따르십시오.
해결할 수있는 문제가 이미 있는지 확인하십시오. 그렇지 않은 경우 풀 요청이 병합하려는 내용을 아직 포함하지 않도록하십시오.
위의 내용이 확실하다면 PR 템플릿을 사용하여 풀 요청을 엽니 다.
Ideoxan이 새로운 기능을 추가하거나 기존 기능을 확장 할 것을 제안하는 경우 기능 요청 템플릿을 사용하여 문제를여십시오.
곧 올 것입니다
위에서 만나지 않는 질문이나 우려 사항이 있으면 언제든지 저희에게 연락하십시오 (문의 참조)
이 저장소는 호환성, 균일 성 및 전반적인 가독성을 허용하기 위해 노력합니다. 이 프로젝트의 출처에 기여하려고한다면 다음을 읽는 것이 좋습니다.
곧 올 것입니다
| 상표 | 설명 | 찾다 |
|---|---|---|
| 중요한 버그 | 웹 사이트를 완전히 쓸모없고 기본 운영/관리에 중요합니다. | ? |
| 버그 (중간) | 사이트 및/또는 사용자의 상당 부분에 영향을 미치는 중간 심각도의 버그. | ? |
| 버그 (낮음) | 사이트 및/또는 사용자에게 거의 영향을 미치지 않는 우선 순위가 낮은 버그 | ? |
| 상표 | 설명 | 찾다 |
|---|---|---|
| 복제하다 | 이전, 폐쇄 된 (해결 된) 문제, 개방 (보류) 문제 또는 폐쇄 된 풀 요청의 복제품 인 문제 | ? |
| 수정하지 않습니다 | 프로젝트와 관련이없는 문제 또는 해결할 수없는 문제 | ? |
| 유효하지 않은 | 프로젝트에 유병률이 없거나 복제 할 수없는 문제 | ? |
| 질문 | 질문이 유효하려면 더 많은 정보가 제공되어야합니다. | ? |
| 상표 | 설명 | 찾다 |
|---|---|---|
| 웹 사이트 | 웹 사이트 관련 문제 | ? |
| 섬기는 사람 | 서버 관련 문제 | ? |
| 선적 서류 비치 | 사이트, 서버 또는 API의 문서와 관련된 문제 | ? |
| 다른 | 웹 사이트, 서버 또는 문서를 다루지 않는 문제 | ? |
| 상승 | 고려중인 새로운 기능 또는 이미 존재하는 기능 개선에 대한 제안 | ? |
| 상표 | 설명 | 찾다 |
|---|---|---|
| 도움이 필요합니다 | 외부 검토 또는 기부금이 필요한 문제 또는 풀 요청에 주어진 태그. 일반적으로 문제는 관리자에 대한 지식 범위를 벗어나거나 최우선 과제가 아닙니다. | ? |
| 좋은 첫 번째 문제 | 당신이 여기 주변에 새롭다면, 이것은 시작하기에 좋은 곳입니다! 이것은 활발한 문제이거나 새로운 이민자들이 다루는 문제의 좋은 예입니다. | ? |
연락이 필요한 경우 아래의 다음 링크로 문의하십시오.
앞으로 더 많은 플랫폼이 추가 될 것입니다.