{"id":29943352,"url":"https://github.com/sourcefuse/arc-saas","last_synced_at":"2025-08-03T02:16:42.486Z","repository":{"id":245410058,"uuid":"771489298","full_name":"sourcefuse/arc-saas","owner":"sourcefuse","description":"SaaS control plane microservices Created by Sourcefuse for the Community","archived":false,"fork":false,"pushed_at":"2025-07-21T13:24:53.000Z","size":3535,"stargazers_count":28,"open_issues_count":19,"forks_count":2,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-08-01T05:55:57.124Z","etag":null,"topics":["loopback4","microservices","multi-tenancy","multi-tenant","nodejs","opensource","saas"],"latest_commit_sha":null,"homepage":"https://sourcefuse.github.io/arc-docs/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcefuse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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}},"created_at":"2024-03-13T11:50:02.000Z","updated_at":"2025-07-17T12:18:57.000Z","dependencies_parsed_at":"2024-06-26T15:00:27.253Z","dependency_job_id":"7a3a5f96-9b5c-4342-bf1c-e6d7964ee722","html_url":"https://github.com/sourcefuse/arc-saas","commit_stats":null,"previous_names":["sourcefuse/arc-saas"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/sourcefuse/arc-saas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Farc-saas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Farc-saas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Farc-saas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Farc-saas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcefuse","download_url":"https://codeload.github.com/sourcefuse/arc-saas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Farc-saas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268484362,"owners_count":24257660,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["loopback4","microservices","multi-tenancy","multi-tenant","nodejs","opensource","saas"],"created_at":"2025-08-03T02:15:05.788Z","updated_at":"2025-08-03T02:16:41.917Z","avatar_url":"https://github.com/sourcefuse.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://sourcefuse.github.io/arc-docs/arc-api-docs\" target=\"blank\"\u003e\u003cimg src=\"https://github.com/sourcefuse/arc-saas/blob/master/docs/assets/logo-dark-bg.png?raw=true\" width=\"180\" alt=\"ARC Logo\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  With ARC SaaS, we’re introducing a pioneering SaaS factory model based control plane microservices and IaC modules that promises to revolutionize your SaaS journey.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://sonarcloud.io/summary/new_code?id=sourcefuse_arc-saas\" target=\"_blank\"\u003e\n\u003cimg alt=\"Sonar Quality Gate\" src=\"https://img.shields.io/sonar/quality_gate/sourcefuse_arc-saas?server=https%3A%2F%2Fsonarcloud.io\u0026style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://app.snyk.io/org/ashishkaushik/reporting?context[page]=issues-detail\u0026project_target=%255B%2522sourcefuse%252Farc-saas%2522%255D\u0026project_origin=%255B%2522github%2522%255D\u0026issue_status=%255B%2522Open%2522%255D\u0026issue_by=Severity\u0026table_issues_detail_cols=SCORE%257CCVE%257CCWE%257CPROJECT%257CEXPLOIT%2520MATURITY%257CAUTO%2520FIXABLE%257CINTRODUCED%257CSNYK%2520PRODUCT\u0026v=1\"\u003e\n\u003cimg alt=\"Synk Status\" src=\"https://img.shields.io/badge/SYNK_SECURITY-MONITORED-GREEN?style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003ca href=\"./LICENSE\"\u003e\n\u003cimg src=\"https://img.shields.io/github/license/sourcefuse/arc-saas?style=for-the-badge\" alt=\"License\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/sourcefuse/arc-saas/graphs/contributors\" target=\"_blank\"\u003e\n  \u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/sourcefuse/arc-saas?style=for-the-badge\"\u003e\n\u003c/a\u003e\n\u003c!-- \u003ca href=\"https://www.npmjs.com/~sourceloop\" target=\"_blank\"\u003e\n  \u003cimg alt=\"sourceloop core downloads\" src=\"https://img.shields.io/npm/dm/@sourceloop/core?style=for-the-badge\"\u003e\n\u003c/a\u003e --\u003e\n\u003c!-- Will add once we publish this --\u003e\n\u003ca href=\"https://loopback.io/\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Pb Loopback\" src=\"https://img.shields.io/badge/Powered%20by-Loopback 4-brightgreen?style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://nestjs.com/\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Pb Loopback\" src=\"https://img.shields.io/badge/Compatible%20With-NestJS-brightgreen?style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\n\u003c/p\u003e\n\n# ARC SAAS\n\n## What is ARC SaaS\n\nWe are thrilled to introduce our cutting-edge control plane, meticulously designed to simplify tenant onboarding, tenant subscription management and tenant provisioning based upon isolation levels, vis-a-vis, Silo, Pooled and Bridge. It also comes up with a configurable SaaS license tiers and plans, along with a streamlined billing processes. From seamless tenant management to robust monitoring and analytics, fortified security and compliance measures, and versatile API management, ARC SaaS will be your one stop solution for building a SaaS product faster than ever.\n\n## Why ARC SaaS\n\nOur control plane, akin to our catalog of application plane services, provides a range of advantages. ARC SaaS not only accelerates SaaS application development but also offers customization tailored to your needs, granting you the flexibility to harness the full spectrum of ARC benefits. This includes time-saving measures, adherence to best practices, seamless plug-and-play integration, and a standardized approach based off AWS SaaS factory reference architecture principles. All of this following the SaaS standards and architecture that accommodates your unique requirements.\n\nARC SaaS architecture consists of two major layers at a high level\n\n- Control Plane - The control plane is foundational to any multi-tenant SaaS model. ARC SaaS control plane will include those services that give consumers the ability to manage and operate their tenants through a single, unified experience. Within the control plane, we have 3-tier architecture supporting UI (or some CLI), API and data separately. The core services here represent the collection of services that are used to orchestrate multi-tenant experience. We’ve included some of the common examples of services that are typically part of the core. However, these core services could vary for each SaaS solution depending on the requirements. In the architecture diagram above, we have also shown a separate administration application UI. This represents the application (a web application, a command line interface, or an API) that might be used by a SaaS provider to manage their multi-tenant environment. Please note that the control plane and its services are not actually multi-tenant. These services are global to all tenants and are basically used to operate and manage tenants.\n\n- Application Plane - At the bottom of the diagram, we have represented the application plane of a SaaS environment. This is where the multi-tenant functionality of the actual application will reside.\n\nThis repo covers the control plane of Saas model.\n\n## What we offer\n\nControl plane will be the power house of your SaaS application. With the help of this control plane all your tenant applications can be managed and monitored effortlessly. This control plane ensures a smooth and efficient tenant onboarding.\n\n## Logical Architecture\n\n![image](https://github.com/sourcefuse/arc-saas/assets/107617248/ec3f9e75-6c66-4ee3-87a9-a8b19b636185)\n\n## API Flow Diagram\n\n![flow](./services/tenant-management-service/docs/tenant-onboarding.png)\n\n## Pre-built Micro-services\n\nThere are currently 2 Microservices provided and actively maintained:\n\n1. [Tenant Management Service](services/tenant-management-service)\n2. [Subscription Service](services/subscription-service)\n\n## Sequelize Support\n\nIf your SaaS application uses Sequelize as the ORM, make sure to use the Sequelize-compatible components,else use the respective default components.\n\n## Feedback\n\nIf you've noticed a bug or have a question or have a feature request, [search the issue tracker](https://github.com/sourcefuse/arc-saas/issues) to see if someone else in the community has already created a ticket.\nIf not, go ahead and [make one](https://github.com/sourcefuse/arc-saas/issues/new/choose)!\nAll feature requests are welcome. Implementation time may vary. Feel free to contribute the same, if you can.\nIf you think this extension is useful, please [star](https://help.github.com/en/articles/about-stars) it. Appreciation really helps in keeping this project alive.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/sourcefuse/arc-saas/blob/master/.github/CONTRIBUTING.md) for details on the process for submitting pull requests to us.\n\n## Code of conduct\n\nCode of conduct guidelines [here](https://github.com/sourcefuse/arc-saas/blob/master/.github/CODE_OF_CONDUCT.md).\n\n## License\n\n[MIT](https://github.com/sourcefuse/arc-saas/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Farc-saas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcefuse%2Farc-saas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Farc-saas/lists"}