{"id":47672737,"url":"https://github.com/medpactech/ibeam","last_synced_at":"2026-04-02T13:02:03.385Z","repository":{"id":346691234,"uuid":"769781046","full_name":"MedPACTech/IBeam","owner":"MedPACTech","description":"IBeam is a modular .NET framework for building production-ready APIs fast, with plug-in identity, repositories, services, communications, logging, and storage providers.","archived":false,"fork":false,"pushed_at":"2026-03-25T20:47:14.000Z","size":2061,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-26T07:50:57.911Z","etag":null,"topics":["api-frameworks","aspnetcore","azure-table-storage","csharp","dependency-injection","dotnet","dotnet-core","framework","identity","logging","modular-architecture","nuget","open-source","repository-pattern-package","webapi","webapi-core"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MedPACTech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-10T03:17:57.000Z","updated_at":"2026-03-25T20:22:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/MedPACTech/IBeam","commit_stats":null,"previous_names":["medpactech/ibeam"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/MedPACTech/IBeam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MedPACTech%2FIBeam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MedPACTech%2FIBeam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MedPACTech%2FIBeam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MedPACTech%2FIBeam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MedPACTech","download_url":"https://codeload.github.com/MedPACTech/IBeam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MedPACTech%2FIBeam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31306704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api-frameworks","aspnetcore","azure-table-storage","csharp","dependency-injection","dotnet","dotnet-core","framework","identity","logging","modular-architecture","nuget","open-source","repository-pattern-package","webapi","webapi-core"],"created_at":"2026-04-02T13:00:53.950Z","updated_at":"2026-04-02T13:02:03.359Z","avatar_url":"https://github.com/MedPACTech.png","language":"C#","readme":"# IBeam\n[![CI](https://github.com/MedPACTech/IBeam/actions/workflows/ci.yml/badge.svg)](https://github.com/MedPACTech/IBeam/actions/workflows/ci.yml)\n[![NuGet](https://img.shields.io/nuget/v/IBeam.Services)](https://www.nuget.org/packages/IBeam.Services)\n[![NuGet Downloads](https://img.shields.io/nuget/dt/IBeam.Services)](https://www.nuget.org/packages/IBeam.Services)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![Release](https://img.shields.io/github/v/release/MedPACTech/IBeam)](https://github.com/MedPACTech/IBeam/releases)\n\nIBeam is a modular .NET framework for teams that want to move from idea to working API quickly, without giving up architecture quality.\n\nThe framework provides a strong base API and reusable application patterns so developers can stand up production-ready services with minimal implementation code. From there, teams can compose only the modules they need, extend where they want full control, and avoid rewriting the same plumbing in every new project.\n\n## Why IBeam Exists\nMost teams repeatedly solve the same cross-cutting concerns before they can deliver product value:\n- service orchestration,\n- data access patterns,\n- identity flows,\n- communication providers,\n- logging and auditing,\n- storage integration,\n- API consistency.\n\nIBeam packages these concerns into composable building blocks.\n\nDevelopers can use IBeam on its own, alongside existing libraries, or with AI-assisted workflows to rapidly scaffold and evolve APIs. The goal is not to lock teams into one way of building. The goal is to provide a stable foundation and extension points so teams can customize intelligently.\n\n## Design Goals\n- Fast startup: get a base API running with very little custom code.\n- Modular by default: add only the packages you need.\n- Extension-first: override behavior with your own services/providers.\n- Provider flexibility: choose storage, messaging, and identity integrations per project.\n- Production mindset: testing, configuration, and operational patterns are first-class.\n\n## Open-Core and Open Source Commitment\nIBeam uses an open-core model:\n- Core framework: Apache-2.0 open source\n- Enterprise add-ons: commercial terms for premium/enterprise modules\n\nThis allows individuals and small teams to build freely while supporting long-term sustainability for enterprise-scale usage.\n\nSee:\n- `LICENSE`\n- `LICENSE-COMMERCIAL.md`\n- `docs/licensing.md`\n\n## Forking and Community Contributions\nForking is welcome for the Apache-2.0 core.\n\nContributions are encouraged across:\n- bug fixes,\n- new extension packages,\n- documentation quality,\n- integration examples,\n- test coverage.\n\nSee `CONTRIBUTING.md` for workflow and standards.\n\n## Community and Security\n- Code of Conduct: `CODE_OF_CONDUCT.md`\n- Security Policy: `SECURITY.md`\n\n## Package Map\n\n### API\n- `IBeam.Api`: reusable API composition helpers (response envelopes, exception middleware, DI/config builder)\n- `IBeam.Identity.Api`: identity endpoint module that composes identity services + providers\n\n### Communications\n- `IBeam.Communications`: provider-agnostic email/SMS contracts, options, validation, templating orchestration\n- `IBeam.Communications.Email.Templating`: file-based email template renderer and templated send orchestration\n- `IBeam.Communications.Email.AzureCommunications`: Azure Communication Services email provider\n- `IBeam.Communications.Email.SendGrid`: SendGrid email provider\n- `IBeam.Communications.Email.Smtp`: SMTP email provider\n- `IBeam.Communications.Email.PickupDirectory`: local filesystem email pickup provider\n- `IBeam.Communications.Sms.AzureCommunications`: Azure Communication Services SMS provider\n- `IBeam.Communications.Sms.Twilio`: reserved package for Twilio SMS provider (currently scaffold state)\n\n### Identity\n- `IBeam.Identity`: identity contracts, models, options, events, and schema abstractions\n- `IBeam.Identity.Services`: identity orchestration (OTP, password, OAuth, tokens, tenant selection)\n- `IBeam.Identity.Repositories.AzureTable`: Azure Table-backed identity stores and schema bootstrap\n- `IBeam.Identity.Repositories.EntityFramework`: EF-backed identity store wiring (Sqlite currently active)\n\n### Data and Services\n- `IBeam.Repositories`: repository abstractions and base implementations\n- `IBeam.Repositories.AzureTables`: Azure Table repository implementation\n- `IBeam.Repositories.OrmLite`: ServiceStack OrmLite repository implementation\n- `IBeam.Services`: service abstractions + base service implementations and operation policy resolver\n- `IBeam.Services.AutoMapper`: `IModelMapper\u003cTEntity,TModel\u003e` bridge powered by AutoMapper\n- `IBeam.Services.Logging`: optional service auditing/logging sinks and actor providers\n\n### Storage\n- `IBeam.Storage.Abstractions`: common blob storage contracts\n- `IBeam.Storage.AzureBlobs`: Azure Blob Storage implementation\n- `IBeam.Storage.FileSystem`: local and mounted filesystem blob implementation\n- `IBeam.Storage.S3`: S3-compatible blob storage implementation\n\n### Utilities\n- `IBeam.Utilities`: shared utility primitives (auditing, exception middleware, cache and token helpers)\n\n## Build\n\n```bash\ndotnet restore\ndotnet build IBeam.sln\ndotnet test IBeam.sln\n```\n\n## Roadmap Note\nA public landing page is planned. See `docs/landing-page-plan.md`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedpactech%2Fibeam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedpactech%2Fibeam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedpactech%2Fibeam/lists"}