首先,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模块中放置密码。在密码安全的地方保持足够高的数字,但足够低,以至于不会导致服务器放慢速度。同样,出于安全原因,没有默认值。
如果您想为课程或课程做出贡献,请参阅我们的其他github库,其中包括curriculum-的前缀。我们所有的课程指南都保存在GitHub上(并非全部可公开),并且在/static/curriculum下存储了服务,并由客户端要求在静态Express Directory( /static )下。编辑,网站或其任何内容不包括课程。在git下,这些课程作为子模型包括在内,可以通过以下内容安装在课程目录下:
git submodule init
git submodule update --recursive这将克隆,获取并拉动所有公开可用的课程。如果您想进一步了解Git子模型以及它们如何工作,请单击此处。
使用了两个主要分支: master and prod 。 prod分支是发送和部署的产品。我们尝试仅在需要时每隔一段时间更新该分支(较慢的修补程序可以合并)。 master分支是我们大多数新承诺所去的地方。将其视为一个新鲜的每晚建造系统。尽管该分支拥有最新的代码,但这并不意味着它是最稳定的。如果您计划长期使用它,并且不想每20分钟更新一次,我们建议您使用prod分支。
运行服务器有三个选项。
开发人员模式是在开发计算机上运行服务器的命令。这允许轻松编辑和快速的服务器启动。它依赖于Nodemon软件包,因此请确保通过NPM安装了package.json中概述的开发人员依赖项。
在本地运行服务器:
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以在master Branch的package.json中指定的版本。
如果该问题已经报告,并且在我们的GitHub上仍在打开,请评论您的问题,而不是打开新问题。如果仍未打开,请检查其状态。如果它在问题上附带了wont-fix标签,请不要再次提出它,除非您将其视为一个突出的问题,并且已经经过了很大的时间。还要检查是否有解决方案。有时,问题会被关闭,不是因为它们被标记为无效或解决方案,而是因为缺乏活动。如果您觉得是这种情况,请随时要求重新开放该问题。
如果您与安全性有关,请参阅报告安全问题。
如果您遵循上述要求并满足要求,现在可以打开一个问题。确保使用描述性标题,并清楚地描述您的问题。确保遵循错误报告模板(强烈建议)。如果您未能正确描述问题,您的问题将在没有解释的情况下关闭。
如果您为代码库做出贡献(不包括文档),请确保遵循我们的标准。
请检查是否已经有任何问题可以解决。如果不是,请确保拉动请求尚未涵盖您试图合并的内容。
如果您确定上述内容,请使用我们的PR模板打开拉动请求
如果您建议IDEOXAN添加新功能或在现有功能上扩展,请使用功能请求模板打开问题
即将推出
如果您有不满足上述问题的问题或疑虑,请随时与我们联系(请参阅与我们联系)
该存储库旨在允许兼容性,统一性和整体知名度。我们建议您如果尝试为该项目的来源做出贡献,则您会阅读以下内容。
即将推出
| 标签 | 描述 | 搜索 |
|---|---|---|
| 关键错误 | 一个完全妨碍网站的错误,对基本操作/管理至关重要 | ? |
| 虫(媒介) | 一个中等严重性的错误会影响站点和/或其用户的很大一部分。 | ? |
| 错误(低) | 一个低优先级错误,几乎不会影响网站和/或其用户 | ? |
| 标签 | 描述 | 搜索 |
|---|---|---|
| 复制 | 问题是以前的,封闭(已解决的)问题,打开(待处理)问题或封闭请求请求的副本 | ? |
| 不会修复 | 与该项目无关的问题或无法解决的问题 | ? |
| 无效的 | 一个不受项目流行或无法复制的问题 | ? |
| 问题 | 必须提供更多信息,以使问题有效 | ? |
| 标签 | 描述 | 搜索 |
|---|---|---|
| 网站 | 与网站有关的问题 | ? |
| 服务器 | 与服务器相关的问题 | ? |
| 文档 | 与网站,服务器或API的文档有关的问题 | ? |
| 其他 | 不涉及网站,服务器或文档的问题 | ? |
| 增强 | 关于正在考虑的新功能或已存在的新功能的建议 | ? |
| 标签 | 描述 | 搜索 |
|---|---|---|
| 把招工广告 | 给出需要外部审查或贡献的问题或拉的请求的标签。通常,如果给出的话,问题要么不取决于维护者的知识范围,要么不是最高优先级。 | ? |
| 好的第一个问题 | 如果您在这里是新手,那么这是一个不错的起点!这要么是一个积极的问题,要么是新移民解决问题的一个很好的例子。 | ? |
如果您需要伸出援手,请通过以下以下链接与我们联系
将来将添加更多平台。