우리는 모든 프로그래밍 언어로 API 핸들링을 배우는 데 사용할 수있는 단일 소스 API 허브를 구축하려고합니다. 사용자는이 API 허브를 사용하여 웹 및 모바일 앱에서 프론트 엔드 포트폴리오를 구축 할 수 있습니다.
Freeapi Project는 개발자에게 프로젝트에 무료 및 접근 가능한 API를 제공하는 혁신적이고 커뮤니티 중심의 이니셔티브입니다.
이 프로젝트는 다양한 도메인 및 기능을 수용하는 광범위한 API를 제공하는 데 중점을 두어 개발자가 이러한 API를 애플리케이션에 원활하게 통합 할 수 있도록합니다.
Freeapi 프로젝트의 주요 하이라이트는 다음과 같습니다.
접근성 : Freeapi 프로젝트는 API 컬렉션에 대한 무료 액세스를 제공하여 장벽을 제거하기 위해 노력하고 있습니다. 개발자는 비용 제한없이 이러한 API를 활용하여 혁신적인 응용 프로그램을 실험, 학습 및 구축 할 수 있습니다.
다양한 API 컬렉션 : 이 프로젝트는 다양한 산업, 도메인 및 기능에 걸친 다양한 API 컬렉션을 제공합니다. 소셜 미디어 통합, 결제 게이트웨이, 머신 러닝 알고리즘 또는 IoT 장치 연결이 필요한 경우 FreeApi 프로젝트가 다루었습니다.
단순화 된 통합 : FreeApi 프로젝트는 API를 응용 프로그램에 통합 할 때 개발자가 직면 한 문제를 이해합니다. 이를 해결하기 위해이 프로젝트는 명확한 문서, 코드 샘플 및 SDK를 제공하여 통합 프로세스를 단순화하고 개발 시간과 노력을 줄입니다.
커뮤니티 중심 개발 : 이 프로젝트는 활기차고 협력적인 개발자 커뮤니티를 촉진합니다. 기고자들은 자신의 지식을 공유하고 토론에 참여하며 API 관련 프로젝트에 대해 협력하는 것이 좋습니다. 이러한 집단적 노력은 Freeapi 프로젝트가 제공하는 API의 지속적인 개선 및 신뢰성을 보장합니다.
학습 및 기술 개발 : Freeapi 프로젝트는 학습 및 기술 개발을위한 플랫폼을 제공함으로써 개발자에게 힘을 실어주는 것을 목표로합니다. 개발자는 다양한 API 및 교육 자료에 대한 액세스를 통해 API 통합에 대한 이해를 향상시키고 지식을 확장하며 완전한 프로젝트를 구축함으로써 전문 지식을 선보일 수 있습니다.
전반적으로 FreeApi 프로젝트는 접근 가능하고 다양한 API를 찾는 개발자에게 귀중한 리소스입니다.
이 프로젝트는 지원 커뮤니티를 육성함으로써 개발자가 배우고, 창조하고, 혁신하여 API 통합 환경의 성장과 발전에 기여할 수있게합니다.
개발자가 API와 상호 작용하는 방식을 혁신하도록 설계된 동적 플랫폼 인 획기적인 오픈 소스 API Hub 프로젝트를 소개합니다.
API 허브는 개방성, 접근성 및 학습에 중점을 둔 모든 수준의 개발자가 API 통합에 대한 기술을 탐색, 실험 및 성장시킬 수 있도록 강조합니다.
하이라이트:
오픈 소스 : API 허브는 오픈 소스의 원칙을 기반으로하여 투명성, 협업 및 커뮤니티 중심 개발을 보장합니다. 이는 소스 코드를 자유롭게 사용할 수 있으므로 개발자가 프로젝트에 사용자 정의, 확장 및 기여할 수 있습니다.
무료 사용 : 우리는 진입 장벽을 제거하는 것을 굳게 믿기 때문에 API 허브가 완전히 사용할 수있는 이유입니다. 노련한 개발자이든 코딩 여행을 시작하든 비용 제한없이 플랫폼을 활용할 수 있습니다.
로컬 또는 배포 : 유연성은 API 허브의 핵심입니다. 로컬로 사용하거나 자신의 컴퓨터에서 실행하거나 서버에 배포하여 다른 사람이 액세스 할 수 있습니다. 이 다양성은 플랫폼을 특정 개발 환경에 조정할 수 있도록합니다.
학습 리소스 : 우리의 API 허브는 풍부한 교육 자료, 튜토리얼 및 문서를 제공하는 포괄적 인 학습 리소스로 설계되었습니다. 초보자이거나 API 지식을 확장하려는 경우, 우리의 플랫폼은 배우고 개선하는 데 필요한 리소스를 제공합니다.
초보자를위한 사용자 정의 엔드 포인트 : 초보자 수준의 개발자를 위해 API 허브는 API 응답을 처리하는 실습 경험을 제공하는 사용자 정의 엔드 포인트를 제공합니다. 이 초보자 친화적 인 API를 사용하면 API 작업의 기본 사항을 연습하고 친숙하게 할 수 있습니다.
포트폴리오 구축 용 API : 초보자 수준 엔드 포인트 외에도 API Hub는 기술에 도전하고 확장 할 수있는 고급 API를 제공합니다. 이 API를 사용하면보다 복잡한 통합 시나리오를 해결하여 전문 지식을 선보일 강력한 프로젝트 포트폴리오를 구축 할 수 있습니다.
오픈 소스 원칙, 접근성 및 학습에 중점을 둔 API 허브 프로젝트는 API 통합 세계에서 개발자가 번성 할 수있는 길을 열어줍니다. 활기찬 커뮤니티에 가입하고 흥미 진진한 발견, 성장 및 혁신의 여정을 시작하십시오.
Open-Source 프로젝트는 현재 원격 서버에서 호스팅되어 있으며, 여기서 추가 비용이 발생하지 않도록 파일 시스템 및 MongoDB 데이터베이스를 포함한 전체 서버를 재설정해야합니다.
이 프로세스는 모든 이미지/정적 파일을 삭제하고 서버의 전체 데이터베이스를 재설정합니다.
데이터 손실 : 업로드 된 이미지 및 사용자 데이터를 포함하여 2 시간 간격 (원격 서버) 동안 변경 사항은 손실되고 복귀 할 수 없습니다.
서비스 중단 : 서버 재설정은 서버가 재부팅하는 동안 (1-2 분 동안) 특정 지속 시간 동안 개발 및 테스트 프로세스를 방해 할 수 있습니다.
로컬 API 사용 : 개발 및 테스트 목적으로 프로젝트를 복제하여 시스템의 API를 로컬로 사용하는 것이 좋습니다.
이를 통해 작업이 서버 재설정의 영향을받지 않도록하고 로컬 컴퓨터에서 안정적인 개발 환경을 유지할 수 있습니다.
철도에서의 자조 주최 (개인 프로젝트에 권장) : Freeapi.App 응용 프로그램을 자체 주최하려면 쉽게 구축 된 사전 구축 된 템플릿을 활용할 수 있습니다. 자세한 문서를 보려면 여기를 클릭하십시오
Freeapi 프로젝트를 실행하려면 다음을 수행하십시오.
.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 mongodbFreeapi 프로젝트를 로컬로 실행하려면 다음을 수행하십시오.
.env 파일을 작성하고 .env.sample 의 내용을 붙여 넣고 필요한 자격 증명을 추가하십시오.yarn installyarn startFreeApi.App 응용 프로그램을 자체 호스트하려면 쉽게 사용할 수있는 사전 제작 된 템플릿을 활용할 수 있습니다.
위의 버튼을 클릭하여 Railway.App을 방문하십시오.
지금 배포 버튼을 클릭하십시오.
(선택 사항) GitHub로 로그인하여 배포하십시오.
저장소 세부 정보를 작성하십시오.
환경 변수의 경우 부담을 줄이기 위해 ENV 에 기본값을 제공했지만 일부 매개 변수는 필수입니다.
PORT : 값을 변경하지 마십시오. 배포 후 Swagger 문서를 볼 수 있도록 8080으로 설정하십시오.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로 설정하십시오.필요한 환경 매개 변수를 작성하면 PayPal, Google 및 RazorPay와 같은 다른 사람을 추가하기로 선택하면 양식의 자격 증명을 참조하십시오.
배포 버튼을 클릭하여 첫 번째 빌드를 트리거하십시오.
참고 : 응용 프로그램이 배포되면 Swagger 문서를 사용할 수 있도록 3-5 분 동안 기다리십시오.
최종 사용자의 신뢰성 및 안정성을 보장하기 위해 강력한 테스트 프레임 워크 인 Playwright를 사용하여 모든 엔드 포인트에서 테스트를 자동화합니다.
.env 파일에 MONGO_MEMORY_SERVER_PORT=10000 (e2e 테스트 용 MongoDB 포트)을 추가하십시오.
yarn start:test-serveryarn test:playwright이것은 극작가 보고서를 생성합니다. 이 보고서를 보려면 다음 명령을 실행하십시오
yarn playwright show-report변경할 때마다 모든 테스트 케이스가 전달되는지 확인하십시오.
우리는 오픈 소스 프로젝트에 기여하는 데 관심을 환영합니다!
Freeapi에 기여하려면 다음을 수행하십시오.
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는 개발자가 복잡한 프로젝트를 구성하여 기술과 능력을 선보이는 데 도움이 될 수있는 포괄적 인 솔루션을 제공해야합니다. 이 분야에 대한 귀하의 기여는 커뮤니티에 큰 도움이 될 것입니다.
제안서 작성 및 Discord에 대한 토론 : 프로젝트에 뛰어 들기 전에 제안서 작성을 권장합니다. 여기에는 구축하려는 API의 마인드 맵 또는 개요와 잠재적 이점이 포함될 수 있습니다. 제안을 공유하고 아이디어를 토론하며 동료 기고자로부터 피드백을 수집 할 수있는 불화 커뮤니티에 가입하십시오. 이러한 토론에 참여하면 백엔드 포트폴리오가 향상되고 프로젝트의 미래 방향을 형성하는 데 도움이됩니다.
귀하의 열정에 감사 드리며 오픈 소스 API 허브 프로젝트에 대한 귀하의 귀중한 기여를 기대합니다.
우리는 공동 작업 환경을 조성하고 API 통합 환경에 큰 영향을 줄 수 있습니다.
자세한 기여 가이드를 보려면 여기를 클릭하십시오.
Freeapis를 소비하는 프론트 엔드 애플리케이션을 만들어 Freeapi 프로젝트에 기여하는 데 관심을 가져 주셔서 감사합니다! 귀하의 노력은 사용자 경험을 향상시키고 API의 범위를 확장하는 데 중요한 역할을합니다. 이 안내서를 따라 원활하고 협력적인 기여 프로세스를 보장하십시오.
프론트 엔드 개발자를위한 자세한 기여 가이드를 보려면 여기를 클릭하십시오!
FreeApi 프로젝트에 기여하여 API 서비스의 코드 커버리지를 늘리면 Battlefield 테스트 인 강력한 엔드 포인트를 배송하는 데 도움이됩니다. 이 안내서를 따라 원활하고 협력적인 기여 프로세스를 보장하십시오.
코드 범위를 늘리려면 자세한 기여 가이드를 보려면 여기를 클릭하십시오.
Swagger Docs : https://api.freeapi.app
참고 : Swagger Docs는 swagger.yaml 파일에서 자동 생성됩니다. 로컬로 프로젝트를 실행하는 동안 URL을 Swagger Docs servers/url 필드에서 http://localhost:<port_from_.env>/api/v1 로 변경하십시오.