20 مستودعات
Tools that automatically produce server stubs and client libraries from API interface definitions.
Distinguishing note: Focuses on automated generation of backend stubs from interface specifications.
Explore 20 awesome GitHub repositories matching development tools & productivity · API Code Generators. Refine with filters or upvote what's useful.
go-zero is a toolkit for building cloud-native distributed services in Go. It functions as a microservices framework that provides built-in support for RPC, web APIs, and service discovery. The project includes a microservices code generator that produces production-ready server and client boilerplate from API descriptions. This automation is supported by a domain-specific language and pattern libraries designed to ensure compatibility with AI assistants. The framework incorporates a resilience suite for distributed system reliability, utilizing adaptive circuit breakers, rate limiting, and
Provides a utility to automatically produce server stubs and client libraries from API interface definitions.
yapi is an API management platform designed to coordinate the development of RESTful APIs between frontend, backend, and quality assurance teams. It functions as a centralized system for documenting interface specifications, simulating server responses, and validating requests through a built-in testing client. The platform features an API code generator that transforms interface specifications into typed request functions and data models across multiple programming languages. It also includes a mock server capable of generating synthetic responses using schema-based generators and rule-based
Produces typed request functions and data models in multiple languages from interface specifications.
This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages. The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-bas
Generates boilerplate server-side code and data models from API definitions to ensure consistent implementation.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Provides tools to automatically produce server stubs and client libraries from API interface definitions.
APIJSON is a no-code database API generator and object-relational mapping layer that automatically transforms relational database schemas into functional HTTP endpoints. It provides a system for generating CRUD operations and technical documentation without the need to write manual backend code. The project is distinguished by its ability to allow clients to define custom JSON response structures and field aliases directly within the request. It features dynamic query translation that converts structured JSON parameters into optimized SQL for complex relational joins, subqueries, and data agg
Automatically generates CRUD HTTP endpoints and technical documentation based on relational database schemas.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Generates client libraries and server stubs by processing API definition files stored on the local filesystem.
This project is a Spring Boot API starter kit and RESTful project skeleton designed for building backend services. It provides a foundational codebase that implements a layered service architecture and standardized directory structures to organize controllers, services, and data mappers. The project features a MyBatis CRUD boilerplate generator that automates the creation of models and controllers from database tables using customizable templates. It includes a security framework for protecting endpoints via interface signature authentication to verify user identity and request authorization.
Automates the creation of data access layers to reduce manual coding for database operations.
This project is an end-to-end encrypted communication client designed for secure messaging and identity management using public-key cryptography. It provides a cryptographic identity manager to verify authenticity across platforms and integrates a local messaging daemon to synchronize encrypted data and handle network communication. The system features a remote encrypted file system that mounts encrypted storage as local directories for direct file interaction. It also includes automated identity provisioning for registering and authenticating new devices and automation bots using cryptograph
Provides tools to automatically generate client libraries and server stubs from API interface definitions.
Twirp هو إطار عمل RPC لـ Protocol Buffers مصمم لتنفيذ اتصالات الخدمات المصغرة الموزعة والآمنة من حيث النوع عبر HTTP. يعمل كإطار عمل لاتصالات الخدمات المصغرة ومولد كود API ينتج كعوب عميل (Client stubs) وواجهات خادم مكتوبة بقوة من تعريفات المخطط للقضاء على الكود المتكرر للشبكة يدوياً. يضمن إطار العمل التوافق مع بنية الويب التحتية الحالية من خلال تنفيذ استدعاءات الإجراءات البعيدة عبر نقل HTTP القياسي. يستخدم العقود القائمة على المخطط كمصدر وحيد للحقيقة لتمكين التشغيل البيني عبر اللغات وفصل منطق العمل عن نقل الشبكة. يغطي النظام العديد من مجالات القدرات الأساسية، بما في ذلك التوجيه القائم على الواجهة، وتسلسل البيانات متعدد التنسيقات الذي يدعم كلاً من JSON والثنائي، والبرمجيات الوسيطة لدورة حياة الطلب للمخاوف المتقاطعة. كما يوفر نظام تعيين أخطاء قياسياً لترجمة فشل الخدمة إلى رموز قابلة للقراءة آلياً ويتضمن أدوات للتحقق من توافق العميل.
Automates the production of server stubs and client libraries from API interface definitions.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Automatically produces server stubs and controller classes from API interface definitions.
Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements. The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails. The architecture includes an asynchronous task worker system using a message queue to offload long-
Produces server stubs and client libraries from Protocol Buffer interface definitions.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Produces fully functional HTTP and gRPC server stubs from the API design specification.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Writes emitters and decorators to produce client libraries, server stubs, or documentation in any target format.
MyBatis Generator هي أداة تفحص جداول قاعدة البيانات لإنتاج كائنات النموذج، وواجهات mapper، وملفات تكوين SQL تلقائياً. تعمل كأداة تعيين مخطط قاعدة البيانات ومولد عمليات CRUD، حيث تترجم أعمدة قاعدة البيانات العلائقية إلى فئات وسجلات خاصة باللغة. المشروع عبارة عن مولد كود قابل للتوسيع يسمح بتخصيص ملفات المخرجات من خلال آلية إضافات. يتيح إطار العمل هذا إضافة منطق عمل محدد أو تعديل عملية التوليد لإنتاج ملفات مخرجات مصممة خصيصاً. يغطي المولد مجموعة واسعة من القدرات، بما في ذلك تنفيذ الاستعلامات الديناميكية، وإنشاء نماذج غير قابلة للتغيير، وأتمتة عمليات الإنشاء والقراءة والتحديث والحذف القياسية. يدعم تعيين مخطط قاعدة البيانات مع مفاتيح أساسية افتراضية ويمكنه إنشاء كود للغات متعددة، بما في ذلك Kotlin. يمكن تنفيذ عملية التوليد عبر أدوات سطر الأوامر، أو استدعاءات الوظائف المباشرة، أو كإضافة أداة بناء مدمجة في خطوط أنابيب التكامل المستمر.
Creates model objects and configuration files based on database tables to automate data operations.
Blog.Core هو نموذج أساسي جاهز للإنتاج لبناء واجهات برمجة تطبيقات للمؤسسات وخدمات مصغرة باستخدام ASP.NET Core. يوفر بنية تحتية أساسية للأنظمة الموزعة، بما في ذلك أدوات لإنشاء السقالات (scaffolding) لقاعدة البيانات أولاً وتنفيذ أطر عمل واجهة برمجة تطبيقات متعددة المستأجرين. يتميز المشروع بإنشاء طبقة بيانات آلية، والتي تنتج نماذج الكيانات وطبقات المستودع مباشرة من مخططات قاعدة البيانات. وينفذ نظام إدارة هوية مركزي باستخدام بروتوكولات خادم الهوية القياسية للتعامل مع المصادقة والترخيص عبر عملاء ومشاريع متعددة. يغطي إطار العمل مجموعة واسعة من إمكانيات المؤسسات، بما في ذلك معالجة الرسائل غير المتزامنة عبر ناقلات الأحداث، وذاكرة التخزين المؤقت الموزعة، وتقسيم حركة مرور قاعدة البيانات للقراءة والكتابة. ويدمج التحكم في الوصول القائم على الأدوار مع قيود بيانات الأقسام ويوفر مراقبة النظام من خلال تحليل أداء واجهة البرمجة وتدقيق النشاط. يتضمن النظام أيضًا دعمًا للاتصال ثنائي الاتجاه بين الخادم والعميل لإشعارات الدفع، وتكامل البحث بالنص الكامل، وإعداد الخدمة المركزي.
Automatically creates model, service, and repository classes from existing database tables using templates.
PostgREST هي أداة تقوم تلقائياً بتحويل مخطط قاعدة بيانات PostgreSQL إلى API RESTful جاهز للإنتاج. تعمل كطبقة وصول لقاعدة البيانات ومحرك استعلام يقوم بتعيين طلبات HTTP مباشرة إلى استعلامات SQL، مما يوفر واجهة منخفضة الكود لتنفيذ عمليات الإنشاء والقراءة والتحديث والحذف دون الحاجة إلى كود أساسي يدوي. يتميز المشروع باستخدام توليد API القائم على المخطط والاكتشاف القائم على البيانات الوصفية لكشف جداول قاعدة البيانات كموارد قابلة للتنقل. يوسع قدرات CRUD القياسية من خلال تنفيذ SQL مخصص وقائم على القوالب، ونظام برمجيات وسيطة قائم على المكونات الإضافية لحقن منطق الأعمال، والقدرة على تحميل مكتبات مشتركة خارجية في وقت التشغيل. يغطي النظام مجموعة واسعة من القدرات بما في ذلك استعلام البيانات المعقد مع انضمامات الجداول، والتجميعات، والبحث بالنص الكامل. ينفذ إطار عمل أمني شاملاً يتميز بالمصادقة القائمة على الرموز، وأذونات دقيقة على مستوى الجدول، وإدارة CORS. تشمل الميزات التشغيلية الإضافية التخزين المؤقت للنتائج المحلية، ومراقبة صحة الخادم، والاتصال بـ SQL الموزع وAmazon Redshift. يتم دعم التثبيت عبر بيئات متعددة، بما في ذلك كملف ثنائي مستقل أو عبر قوالب أتمتة Docker Compose وHeroku.
Automatically transforms database schemas into functional REST HTTP endpoints without manual boilerplate code.
grpc-web هو طبقة ترجمة ونظام وكيل يتيح لمتصفحات الويب التواصل مع خدمات gRPC الخلفية. يتكون من وكيل gRPC Web الذي يحول طلبات HTTP وWebSocket القائمة على المتصفح إلى استدعاءات gRPC قياسية، إلى جانب عميل TypeScript gRPC لإجراء استدعاءات إجراءات بعيدة مكتوبة بقوة من المتصفحات أو بيئات Node.js. يتميز المشروع بجسر بث ثنائي الاتجاه يستخدم WebSockets لتجاوز قيود المتصفح، مما يسمح باتصال مزدوج كامل وبث البيانات من جانب العميل. ويتضمن مولد كود بروتوكول بافر يحلل ملفات المخطط لإنتاج فئات طلب واستجابة JavaScript وTypeScript مكتوبة. يغطي النظام مجموعة واسعة من القدرات بما في ذلك اختيار النقل، وإدارة CORS لتقييد الأصول المعتمدة، والاتصال الخلفي الآمن عبر تشفير TLS. كما يوفر مراقبة حركة مرور الوكيل لتتبع الطلبات والاتصالات من خلال المقاييس ونقاط نهاية التصحيح.
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
هذا المشروع عبارة عن إضافة للتحقق من بروتوكول المخزن المؤقت (Protocol Buffer) ومولد أكواد ينشئ منطق تحقق متسق عبر لغات برمجة متعددة. يعمل كامتداد للمترجم لسلسلة أدوات Protocol Buffer، مما يسمح للمطورين بتعريف قيود دلالية مباشرة داخل ملفات المخطط (schema) لضمان اتساق البيانات. تستخدم الأداة خيارات مخصصة لتضمين قواعد التحقق في تعريفات الرسائل، وتعيين قيود المخطط هذه لأنماط التنفيذ الخاصة باللغة. تستخدم فحص القيود القائم على المسند (predicate) والاجتياز العودي لفرض القواعد عبر تسلسلات الرسائل المتداخلة. يغطي سطح التحقق النطاقات والقيم الرقمية، وأنماط وتنسيقات السلاسل، وقيود تسلسل البايت، وفرض التعداد (enum). كما يدير أحجام المجموعات والحقول المتكررة، والتحقق من النوع المعقد للطوابع الزمنية والمدد، ومتطلبات اختيار حقل الاتحاد (union).
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
Space Cloud هو حزمة خلفية كخدمة (Backend-as-a-Service) سحابية ذاتية الاستضافة. يعمل كمنصة بدون خادم (Serverless) قائمة على Kubernetes توفر بوابة GraphQL و REST API، ومولداً لواجهة برمجة تطبيقات قاعدة البيانات، ومنسقاً يعتمد على الأحداث. تقوم المنصة بتحويل مخططات قواعد بيانات SQL و NoSQL إلى نقاط نهاية آمنة، مما يلغي الحاجة إلى تطوير الخلفية يدوياً. وتتميز بقدرتها على إجراء عمليات ربط البيانات عن بُعد، والتي تدمج السجلات من قواعد البيانات الداخلية والخدمات المصغرة الخارجية عبر HTTP في استعلام واحد. يغطي النظام مجموعة واسعة من الإمكانيات، بما في ذلك التحكم في الوصول القائم على القواعد لأمن البيانات، ومزامنة البيانات في الوقت الفعلي، وواجهة موحدة لتخزين الكائنات السحابية. كما يتضمن محرك أتمتة لتشغيل خطافات الويب (Webhooks) غير المتزامنة والوظائف بدون خادم استجابةً لأحداث قاعدة البيانات أو نظام الملفات. تتم إدارة النشر عبر Kubernetes، مع دعم أحمال العمل المعتمدة على الحاويات مع ميزة التحجيم التلقائي حتى الصفر.
Automatically transforms database schemas into functional GraphQL and REST endpoints.
هذا المشروع عبارة عن أداة سطر أوامر تقوم بأتمتة إنشاء عملاء HTTP من نوع TypeScript آمن مباشرة من مواصفات OpenAPI. من خلال تحويل تعريفات الخدمة إلى كود مصدري مهيكل، فإنه يضمن مزامنة النوع من البداية إلى النهاية ويفرض سلامة البيانات في وقت التشغيل عبر حدود الشبكة. يتميز المولد بتعيين هياكل بيانات OpenAPI إلى مخططات تحقق Zod، مما يسمح بتعيين النوع القائم على المخطط والتحقق من الاستجابة بشكل متسق. ويدعم توليف المصدر المكرر لتقليل التكرار في المخرجات المولدة ويوفر خيارات تخصيص القالب، مما يتيح للمستخدمين تعديل هيكل وتنسيق الكود الناتج من خلال قواعد عرض محددة. تتعامل الأداة مع دورة حياة إنشاء العميل بالكامل، من تحليل مواصفات API غير المتجانسة إلى نموذج داخلي موحد وصولاً إلى عرض معالجات الطلبات القابلة للتنفيذ. تم تصميمها لتتكامل في سير عمل التطوير من خلال إنتاج وحدات جاهزة للاستخدام تحافظ على عقود بيانات صارمة بين الخدمات.
Provides a command-line interface that automates the creation of structured network request handlers and response validation logic.