{"id":13472766,"url":"https://github.com/apioo/fusio","last_synced_at":"2025-05-14T14:09:01.338Z","repository":{"id":35630359,"uuid":"39904377","full_name":"apioo/fusio","owner":"apioo","description":"Open source API management platform","archived":false,"fork":false,"pushed_at":"2025-05-04T18:07:50.000Z","size":30988,"stargazers_count":1967,"open_issues_count":171,"forks_count":231,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-05-04T18:31:47.210Z","etag":null,"topics":["api","api-gateway","api-management","api-manager","backend","javascript","microservice","openapi","php","rest","rpc","serverless"],"latest_commit_sha":null,"homepage":"https://www.fusio-project.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"pmuens/awesome-serverless","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apioo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"chriskapp","patreon":"fusio","custom":"https://www.paypal.me/fusioapi"}},"created_at":"2015-07-29T16:34:52.000Z","updated_at":"2025-05-04T18:07:54.000Z","dependencies_parsed_at":"2024-01-03T05:49:23.133Z","dependency_job_id":"d8936465-e3fc-4320-8d8b-c3d418b7db1e","html_url":"https://github.com/apioo/fusio","commit_stats":{"total_commits":1814,"total_committers":4,"mean_commits":453.5,"dds":0.4393605292171996,"last_synced_commit":"05fa81aa157d212faad5a4c37bb8950369fc9129"},"previous_names":[],"tags_count":126,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apioo%2Ffusio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apioo%2Ffusio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apioo%2Ffusio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apioo%2Ffusio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apioo","download_url":"https://codeload.github.com/apioo/fusio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160120,"owners_count":22024567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-gateway","api-management","api-manager","backend","javascript","microservice","openapi","php","rest","rpc","serverless"],"created_at":"2024-07-31T16:00:57.802Z","updated_at":"2025-05-14T14:08:56.321Z","avatar_url":"https://github.com/apioo.png","language":"PHP","readme":"\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.fusio-project.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://www.fusio-project.org/img/fusio_64px.png\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# About\n\nFusio is an open source API management platform which helps to create innovative API solutions.\n\n## Use-Cases\n\n* __API-Product__  \n  Fusio helps you to create a great API product, besides building an API it provides a developer portal where developers\n  can register and a way to monetize your API\n* __API-Gateway__  \n  Fusio can be used as gateway to your internal API and microservices. It handles all common features like\n  Authorization, Rate-Limiting and Schema-Validation\n* __SPA-Backend__  \n  Fusio can be used as backend to build SPAs using popular Javascript-Frameworks like i.e. Angular, React or Vue. It\n  provides a powerful code generator which can automatically generate an SDK for your API\n* __Low-Code-Platform__  \n  Fusio allows you to build API endpoints without coding knowledge. I.e. it provides an Entity generator which you can\n  use to easily create complete CRUD APIs.\n* __API-Framework__  \n  For more complex use cases you can use Fusio also as framework to build complete APIs from scratch. This means you\n  build custom actions where you can use the wide PHP ecosystem to solve your task.\n\n## Features\n\nFusio helps you to build APIs providing out-of-the-box enterprise features so that you can concentrate on your business\ncase. Please take a look at our [documentation website](https://docs.fusio-project.org/)\nfor more information. The following feature list gives you a first overview:\n\n* __OpenAPI generation__  \n  Fusio generates automatically an OpenAPI specification for the defined routes\n* __SDK generation__  \n  Fusio can automatically generate a client SDK for your API based on the defined schema\n* __Webhook support__  \n  Fusio contains a webhook system which helps to build publish/subscribe for your API\n* __Rate limiting__  \n  Fusio provides a way to rate limit requests based on the user or app\n* __Authorization__  \n  Fusio uses OAuth2 for API authorization\n* __Monetization__  \n  Fusio provides a simple payment system to charge for specific routes\n* __Validation__  \n  Fusio uses the TypeSchema to automatically validate incoming request data\n* __Analytics__  \n  Fusio monitors all API activities and shows them on a dashboard\n* __User management__  \n  Fusio provides a developer app where new users can login or register a new account through GitHub, Google, Facebook or\n  through normal email registration\n\n# Apps\n\nFusio provides many apps which help to work with the API. Mostly apps are\nsimple JS apps, which work with the internal API of Fusio. You can see a list of all available apps at our\n[marketplace](https://www.fusio-project.org/marketplace). You can install such an app either through a CLI command i.e.\n`php bin/fusio marketplace:install fusio` or through the backend app.\n\nAll apps are installed to the `apps/` folder. You need to tell Fusio the public url to the apps folder at the `.env`\nfile by defining the `APP_APPS_URL` variable. Depending on your setup this can be either a custom sub-domain like\n`https://apps.acme.com` or simply the sub folder `https://acme.com/apps`.\n\n## Backend\n\n![Backend](https://www.fusio-project.org/media/backend/dashboard.png)\n\nThe backend app is the main app to configure and manage your API. The installer automatically installs this app. The app\nis located at `/apps/fusio/`.\n\n## VSCode\n\nFusio provides a [VSCode extension](https://marketplace.visualstudio.com/items?itemName=Fusio.fusio)\nwhich can be used to simplify action development. This means you can develop every action directly inside\nthe VSCode editor.\n\n# SDK\n\nTo build and integrate apps with Fusio we provide several SDKs which you can use to work with a Fusio instance or you\ncan also simply manually talk to the REST API.\n\n| Language   | GitHub                                                  | Package                                                           | Example                                                      |\n|------------|---------------------------------------------------------|-------------------------------------------------------------------|--------------------------------------------------------------|\n| C#         | [GitHub](https://github.com/apioo/fusio-sdk-csharp)     | [NuGet](https://www.nuget.org/packages/Fusio.SDK)                 | [Example](https://github.com/apioo/fusio-sample-csharp-cli)  |\n| Go         | [GitHub](https://github.com/apioo/fusio-sdk-go)         |                                                                   | [Example](https://github.com/apioo/fusio-sample-go-cli)      |\n| Java       | [GitHub](https://github.com/apioo/fusio-sdk-java)       | [Maven](https://mvnrepository.com/artifact/org.fusio-project/sdk) | [Example](https://github.com/apioo/fusio-sample-java-cli)    |\n| Javascript | [GitHub](https://github.com/apioo/fusio-sdk-javascript) | [NPM](https://www.npmjs.com/package/fusio-sdk)                    |                                                              |\n| PHP        | [GitHub](https://github.com/apioo/fusio-sdk-php)        | [Packagist](https://packagist.org/packages/fusio/sdk)             | [Example](https://github.com/apioo/fusio-sample-php-cli)     |\n| Python     | [GitHub](https://github.com/apioo/fusio-sdk-python)     | [PyPI](https://pypi.org/project/fusio-sdk/)                       | [Example](https://github.com/apioo/fusio-sample-python-cli)  |\n\n## Frameworks\n\n| Framework | GitHub                                                           | Package                                             | Example |\n|-----------|------------------------------------------------------------------|-----------------------------------------------------|---------|\n| Angular   | [GitHub](https://github.com/apioo/fusio-sdk-javascript-angular)  | [NPM](https://www.npmjs.com/package/ngx-fusio-sdk)  | [Example](https://github.com/apioo/fusio-sample-javascript-angular)        |\n\n## REST API\n\n| Domain   | Documentation                                       | Specification                                                                           |\n|----------|-----------------------------------------------------|-----------------------------------------------------------------------------------------|\n| Backend  | [ReDoc](https://www.fusio-project.org/api/backend)  | [OpenAPI](https://demo.fusio-project.org/system/generator/spec-openapi?filter=backend)  |\n| Consumer | [ReDoc](https://www.fusio-project.org/api/consumer) | [OpenAPI](https://demo.fusio-project.org/system/generator/spec-openapi?filter=consumer) |\n| System   | [ReDoc](https://www.fusio-project.org/api/system)   | [OpenAPI](https://demo.fusio-project.org/system/generator/spec-openapi?filter=system)   |\n\n# Ecosystem\n\nFusio is an open source project which you can use freely for private and commercial projects under the terms of the\nApache 2.0 license. Besides our core product we offer additional services to augment the functionality of Fusio.\n\n* [SDKgen](https://sdkgen.app/)  \n  SDKgen is a powerful code generator to automatically build client SDKs for your REST API.\n* [APIgen](https://apigen.app/)  \n  Generate fully working and customizable APIs based on your data model.\n* [APImon](https://apimon.app/)  \n  APImon provides an intuitive service to monitor and analyze API endpoints.\n* [TypeSchema](https://typeschema.org/)  \n  A JSON format to describe data models in a language neutral format.\n* [TypeAPI](https://typeapi.org/)  \n  An OpenAPI alternative to describe REST APIs for type-safe code generation.\n* [TypeHub](https://typehub.cloud/)  \n  A collaborative platform to design and build API models and client SDKs.\n* [PSX](https://phpsx.org/)  \n  An innovative PHP framework dedicated to build fully typed REST APIs.\n\n# Installation\n\nIt is possible to install Fusio either through composer or manually file download.\n\n## Composer\n\n```\ncomposer create-project fusio/fusio\n```\n\n## Download\n\nhttps://github.com/apioo/fusio/releases\n\n## Configuration\n\nYou can either manually install Fusio with the steps below or you can also use the browser based installer at\n`public/install.php`. Note because of security reasons it is highly recommended removing the installer script after the\ninstallation.\n\n* __Adjust the configuration file__  \n  Open the file `.env` in the Fusio directory and change the `APP_URL` to the domain pointing to the public folder.\n  Also insert the database credentials to the `APP_CONNECTION` keys. Optional adjust `APP_APPS_URL` to the public url\n  of the apps folder (in case you want to use apps).\n* __Execute the installation command__  \n  The installation script inserts the Fusio database schema into the provided database. It can be executed with the\n  following command `php bin/fusio migrate`.\n* __Create administrator user__  \n  After the installation is complete you have to create a new administrator account. Therefor you can use the following\n  command `php bin/fusio adduser`. Choose as account type \"Administrator\".\n* __Install backend app__  \n  To manage your API through an admin panel you need to install the backend app. The app can be installed with the\n  following command `php bin/fusio marketplace:install fusio`\n\nYou can verify the installation by visiting the `APP_URL` with a browser. You should see an API response that the\ninstallation was successful.\n\nIn case you want to install Fusio on a specific database you need to adjust the `APP_CONNECTION` parameter. You can\nuse the following connection strings:\n\n* MySQL: `pdo-mysql://root:test1234@localhost/fusio`\n* PostgreSQL: `pdo-pgsql://postgres:postgres@localhost/fusio`\n* SQLite: `pdo-sqlite:///fusio.sqlite`\n\nIn general it is possible to install Fusio on all database which are [supported](https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/configuration.html#driver)\nby our database abstraction layer but our internal test cases are only covering MySQL, PostgreSQL and SQLite so there is\nno guarantee that everything works.\n\n## Docker\n\nIt is possible to setup Fusio through docker. This has the advantage that you automatically get a complete running Fusio\nsystem without configuration. This is especially great for testing and evaluation. To setup the container you have to\ncheckout the [repository](https://github.com/apioo/fusio-docker) and run the following command:\n\n```\ndocker-compose up -d\n```\n\nThis builds the Fusio system with a predefined backend account. The credentials are taken from the env variables\n`FUSIO_BACKEND_USER`, `FUSIO_BACKEND_EMAIL` and `FUSIO_BACKEND_PW` in the `docker-compose.yml`. If you are planing to\nrun the container on the internet you must change these credentials.\n\n## Domains\n\nBy default the complete Fusio project can be hosted on a single domain. In this setup your API is served at the root\ndirectory and the developer portal and backend apps are directly served from the /apps folder. This setup is easy to use\nsince it requires no configuration. If you want to run Fusio in a production environment we recommend to create the\nfollowing sub-domain structure:\n\n* __api.acme.com__  \n  Contains only Fusio where your API is served, in this case you can delete the apps/ folder from the public/ folder\n* __developer.acme.com__  \n  Contains the developer portal app where external developers can register \n* __fusio.acme.com__  \n  Optional the backend app where you can manage your Fusio instance. You can host this also on a complete separate\n  internal domain, the backend app only needs access to the Fusio API.\n\nThis is of course only a suggestion and you are free to choose the domain names how you like.\n\n# Documentation\n\nPlease check out our official documentation website where we bundle all documentation resources:\nhttps://docs.fusio-project.org/\n\n# Support\n\n## Promotion\n\nIf you are a blogger or magazine we would be happy if you like to cover Fusio. Please take a look at the Media section\nof our [About Page](https://www.fusio-project.org/about) to download the official icon set. In case you have any\nquestions please write us a message directly so we can help you to create great content.\n\n## Consulting\n\nIf you are a company or freelancer and want to get detailed information how you can use Fusio you can contact us for\nconsulting. In the workshop we try to find the best way how you can use/integrate Fusio also we try to explain the\nfunctionality and answer your questions.\n\n## Donations\n\nIf this project helps you to generate revenue or in general if you like to support the project please check out the\ndonation options at our repository.\n\n## Partner\n\nThe following list shows all partners of the Fusio project. We like to thank every partner supporting us in our vision\nto move API development to the next level. If you are interested in getting listed here feel free to sponsor our\nproject.\n\n\u003ca href=\"https://jb.gg/OpenSourceSupport\"\u003e\n\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg\"\u003e\n\u003c/a\u003e\n","funding_links":["https://github.com/sponsors/chriskapp","https://patreon.com/fusio","https://www.paypal.me/fusioapi"],"categories":["Startup List","PHP","Servers","Apps","HarmonyOS","公司列表","serverless"],"sub_categories":["PHP","Development","Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapioo%2Ffusio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapioo%2Ffusio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapioo%2Ffusio/lists"}