我们正在尝试构建一个可用于以任何编程语言学习API处理的单一源API中心。用户可以使用此API集线器在Web和移动应用程序中构建其前端投资组合。
Freapi项目是一项创新且以社区为导向的计划,旨在为开发人员提供其项目的免费和可访问的API。
该项目致力于提供各种迎合各种领域和功能的API,使开发人员能够将这些API无缝整合到其应用中。
Freapi项目的关键亮点包括:
可访问性: Freapi项目致力于通过免费访问其API收集来消除障碍。开发人员可以在没有任何成本限制的情况下利用这些API,使他们可以尝试,学习和构建创新的应用程序。
多样化的API集合:该项目提供了跨越不同行业,领域和功能的各种API集合。无论您需要社交媒体集成,付款网关,机器学习算法还是物联网设备连接,Freapi项目都可以覆盖您。
简化集成: Freapi项目了解开发人员将API集成到其应用程序中时面临的挑战。为了解决这个问题,该项目提供了清晰的文档,代码样本和SDK,简化了集成过程并减少了开发时间和精力。
社区驱动的开发:该项目促进了一个充满活力和协作的开发人员社区。鼓励贡献者分享他们的知识,参与讨论并在与API相关的项目上进行合作。这种集体努力确保了Freapi项目提供的API的持续提高和可靠性。
学习和技能开发: Freapi项目旨在通过提供学习和技能开发的平台来增强开发人员的能力。通过访问各种API和教育资源,开发人员可以通过构建完整的项目来增强他们对API集成,扩展知识并展示其专业知识的理解。
总体而言,Freapi项目是寻求可访问和多样化API的开发人员的宝贵资源。
通过培养一个支持社区,该项目使开发人员能够学习,创造和创新,最终为API集成景观的增长和进步做出贡献。
引入了我们开创性的开源API集线器项目,这是一个动态平台,旨在彻底改变开发人员与API互动的方式。
我们强调开放性,可访问性和学习,我们的API中心使各个级别的开发人员都可以探索,实验和发展其在API集成方面的技能。
亮点:
开源:我们的API枢纽建立在开源原理上,确保透明度,协作和社区驱动的开发。这意味着源代码是免费的,允许开发人员自定义,扩展和为项目做出贡献。
免费使用:我们坚信消除进入进入障碍,这就是为什么我们的API枢纽完全免费使用的原因。无论您是经验丰富的开发人员还是刚开始编码旅程,都可以在没有任何成本限制的情况下利用我们的平台。
本地或部署:灵活性是我们API集线器的核心。您可以选择在本地使用它,在自己的计算机上运行或将其部署到服务器,使其他人访问。这种多功能性可确保您可以将平台适应特定的开发环境。
学习资源:我们的API中心被设计为一种全面的学习资源,提供大量的教育材料,教程和文档。无论您是初学者还是寻求扩展API知识,我们的平台都可以提供您学习和改进所需的资源。
初学者的自定义端点:对于初学者级别的开发人员,我们的API中心提供了自定义端点,可在处理API响应方面提供动手体验。这些对初学者友好的API使您可以练习并熟悉与API合作的基础知识。
投资组合大楼的高级API :除了初学者级别的端点外,我们的API中心还提供了高级API来挑战和扩展您的技能。这些API使您能够应对更复杂的集成方案,从而帮助您建立强大的项目组合来展示您的专业知识。
通过结合开源原理,可访问性和对学习的关注,我们的API HUB项目为开发人员在API集成世界中蓬勃发展铺平了道路。加入我们充满活力的社区,踏上令人兴奋的发现,成长和创新的旅程。
我们的开源项目目前托管在远程服务器上,我们被迫重置整个服务器,包括文件系统和MongoDB数据库,每2小时,以避免产生额外费用。
此过程导致所有图像/静态文件的删除以及服务器上整个数据库的重置。
数据丢失:在2小时间隔(在远程服务器上)进行的任何更改,包括上传的图像和用户数据,都将丢失且无法恢复。
服务中断:当服务器重新启动时,服务器重置可能会在一定持续时间内破坏您的开发和测试过程(持续1-2分钟)。
本地API使用:为了开发和测试目的,我们强烈建议通过克隆项目在机器上本地使用API。
这样可以确保您的工作不受服务器重置的影响,并允许您在本地机器上保持稳定的开发环境。
在铁路上进行自我托管(推荐用于个人项目) :为了自助乘freeapi.App应用程序,您可以利用容易获得的预制模板。单击此处以获取详细的文档
要运行Freapi项目,请执行以下步骤:
.env文件,然后复制.env.sample的内容,并添加必要的凭据。docker-compose up --build --attach backend
# --build: Rebuild the image and run the containers
# --attach: only show logs of Node app container and not mongodb要在本地运行Freapi项目,请按照以下步骤:
.env文件,然后复制.env.sample的内容,并添加必要的凭据。yarn installyarn start要自助式freapi.app应用程序,您可以利用容易获得的预制模板。
单击上面的按钮访问Railway.App。
单击现在部署按钮。
(可选)与GitHub登录以部署。
填写存储库详细信息:
对于环境变量,我们在ENV中提供了一些默认值以减轻负担,但有些参数是强制性的:
PORT :不要更改该值,让它设置为8080以查看部署后的Swagger文档。MONGODB_URI :提供MongoDB Atlas数据库URL。一个示例已为您准备,将其编辑/更新以继续。NODE_ENV :默认设置为“开发”以查看日志。您可以选择将其更改为“生产”(确保添加完全相同的单词)以隐藏它们。EXPRESS_SESSION_SECRET :建议将默认值更改为您自己的秘密值。ACCESS_TOKEN_SECRET :建议将默认值更改为您自己的秘密值。ACCESS_TOKEN_EXPIRY :默认设置为1天。REFRESH_TOKEN_SECRET :建议将默认值更改为您自己的秘密值。REFRESH_TOKEN_EXPIRY :默认设置为10天。FREEAPI_HOST_URL :将其设置为生成的铁路URL。填写所需的环境参数后,如果您选择添加其他贝帕尔,Google和razorpay等其他参数,请继续以表格提及您的凭据。
单击部署按钮以触发第一个构建。
注意:部署了应用程序后,请等待3-5分钟,以便提供Swagger文档。
为了确保最终用户的可靠性和稳定性,我们利用Playwright,这是一个强大的测试框架来自动化所有端点的测试。
确保在.env文件中添加MONGO_MEMORY_SERVER_PORT=10000 (用于E2E测试的mongodb端口)。
yarn start:test-serveryarn test:playwright这将产生剧作家报告。要查看此报告运行以下命令
yarn playwright show-report每当您进行任何更改时,请确保通过所有测试用例。
我们欢迎您兴趣为我们的开源项目做出贡献!
为了为Freapi做出贡献,请按照以下步骤:
git checkout -b feat/your-feature-name或git checkout -b fix/your-bug-fix-name并进行更改。git commit -am 'add your commit message'git push origin feat/your-feature-name 。这是您如何有效地为我们的API中心做出贡献的指南:
README更新的拉请求:请不要仅发送拉动请求,仅用于更新项目的README文件。尽管我们赞赏清晰简洁的文档的重要性,但我们宁愿专注于大量代码贡献和功能增强功能。
语法更新:我们的团队重视有效的沟通,但我们不是语法棒子。您不需要仅发送拉动请求以进行语法修复或次要语言改进。相反,集中于项目的核心功能和特征。
避免更新现有的公共API:为了保持稳定性和一致性,我们不建议直接更新API中心内的现有公共API。这些API已经过彻底测试和批准。但是,如果您遇到任何错误或问题,我们鼓励您在项目的问题跟踪器上打开一个问题,以通知我们。
构建新的项目API:我们鼓励您探索自己的创造力并通过构建完整的项目API来做出贡献。这些API应该提供全面的解决方案,可以帮助开发人员构建复杂的项目以展示其技能和能力。您在这一领域的贡献将极大地使社区受益。
草稿提案并讨论不和谐:在进行您的项目之前,我们建议起草一项建议。这可以包括您打算构建的API及其潜在好处的心理图或大纲。加入我们的Discord社区,您可以在那里分享您的建议,讨论想法并收集贡献者的反馈。参与这些讨论将增强您的后端投资组合,并帮助塑造项目的未来方向。
感谢您的热情,并期待您对我们开源API集线器项目的宝贵贡献。
我们可以一起培养一个协作环境,并对API集成格局产生重大影响。
单击此处以获取详细的贡献指南。
感谢您通过创建消耗Freapis的前端应用程序来为Freapi项目做出贡献的兴趣!您的努力在增强用户体验和扩大API的影响范围方面起着至关重要的作用。请遵循本指南,以确保平稳且协作的贡献过程。
单击此处以获取前端开发人员的详细贡献指南!
感谢您对Freapi项目的贡献的兴趣,以增加我们的API服务的代码覆盖范围,以帮助我们运送经过战场测试的强大端点。请遵循本指南,以确保平稳且协作的贡献过程。
单击此处以获取详细的贡献指南,以增加代码覆盖范围。
Swagger文档:https://api.freapi.app
注意:Swagger Docs是从swagger.yaml文件中自动生成的。在本地运行项目时,请确保将URL更改为http://localhost:<port_from_.env>/api/v1在Swagger Docs servers/url字段中。