我們正在嘗試構建一個可用於以任何編程語言學習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字段中。