{"id":25845347,"url":"https://github.com/the-forgebase/forgebase-ts","last_synced_at":"2026-04-06T01:34:05.777Z","repository":{"id":279922752,"uuid":"920616548","full_name":"The-ForgeBase/forgebase-ts","owner":"The-ForgeBase","description":"ForgeBase - A flexible, scalable Backend as a Service (BaaS) framework that works with multiple backend frameworks. Built to overcome the limitations of existing BaaS solutions with support for horizontal scaling and robust database integrations.","archived":false,"fork":false,"pushed_at":"2025-02-28T10:04:25.000Z","size":686,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-28T14:39:44.581Z","etag":null,"topics":["api","authentication","authorization","baas","backend-as-a-service","database","deno","express","fastify","hono","horizontal-scaling","nestjs","nodejs","pocketbase-alternative","real-time","storage","typescript"],"latest_commit_sha":null,"homepage":"","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/The-ForgeBase.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"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}},"created_at":"2025-01-22T13:25:56.000Z","updated_at":"2025-02-28T10:04:07.000Z","dependencies_parsed_at":"2025-02-28T14:41:05.411Z","dependency_job_id":"3c2e6dfa-2361-4dcb-8868-b08ae4c15dcd","html_url":"https://github.com/The-ForgeBase/forgebase-ts","commit_stats":null,"previous_names":["the-forgebase/forgebase-ts"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-ForgeBase%2Fforgebase-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-ForgeBase%2Fforgebase-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-ForgeBase%2Fforgebase-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-ForgeBase%2Fforgebase-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/The-ForgeBase","download_url":"https://codeload.github.com/The-ForgeBase/forgebase-ts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241335992,"owners_count":19946150,"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","authentication","authorization","baas","backend-as-a-service","database","deno","express","fastify","hono","horizontal-scaling","nestjs","nodejs","pocketbase-alternative","real-time","storage","typescript"],"created_at":"2025-03-01T08:18:35.137Z","updated_at":"2025-12-30T19:37:01.062Z","avatar_url":"https://github.com/The-ForgeBase.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ForgeBase TypeScript\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/nrwl/nx/master/images/nx-logo.png\" width=\"100\" alt=\"Nx logo\"\u003e\n\u003c/p\u003e\n\n## Overview\n\nForgeBase is an open-source Backend as a Service (BaaS) framework designed to provide backend functionality for a variety of backend frameworks across multiple languages. This TypeScript implementation uses [Nx](https://nx.dev) as a monorepo management tool to organize the codebase into multiple libraries and applications.\n\n## Purpose\n\nOur mission is to simplify backend development by providing a highly flexible, language-agnostic BaaS framework that developers can plug into their existing server setup. While we are 70% inspired by Pocketbase, we recognized its limitations—particularly its dependency on SQLite and its inability to scale horizontally. To overcome these challenges, we are building a better alternative that supports horizontal scaling and integrates with more robust databases like PostgreSQL, SurrealDB, etc.\n\n## Core Features\n\n- **Authentication \u0026 Authorization**: Fine-grained role, table, and namespace-level permissions\n- **Database Integration**: Compatibility with modern real-time databases like RethinkDB, SurrealDB, etc.\n- **Object Storage**: Built-in support for object storage solutions\n- **Extendability**: Easy to add custom routes and extend functionality beyond the BaaS features\n- **Real-time Features**: Full real-time support for database, presence, etc.\n\n## Project Structure\n\nThis monorepo is organized into two main directories:\n\n### Libraries (`packages/`)\n\n- **[Auth](packages/auth/README.md)**: A flexible authentication library providing multiple authentication strategies and framework adapters\n- **[API](packages/api/README.md)**: Provides API functionalities and integrations\n- **[Common](packages/common/README.md)**: Common utilities and shared code used across the project\n- **[Database](packages/database/README.md)**: Database management and integration\n- **[Real-Time](packages/real-time/README.md)**: Real-time communication and updates\n- **[Storage](packages/storage/README.md)**: Storage management and integration\n- **[Studio UI Utils](packages/studio-ui-utils/README.md)**: UI utilities for the Studio application\n- **[Studio UI](packages/studio-ui/README.md)**: UI components for the Studio application\n\n### Applications (`apps/`)\n\n- **[Studio](apps/studio/README.md)**: Admin UI for managing ForgeBase instances\n- **[Docs](apps/docs/)**: Documentation site\n- **[Nest Test](apps/nest-test/)**: NestJS integration example\n- **[Hono Test](apps/hono-test/)**: Hono integration example\n- **[Web App](apps/web-app/)**: Example web application\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (LTS version recommended)\n- pnpm\n\n### Installation\n\n1. Clone the repository:\n\n   ```sh\n   git clone https://github.com/The-ForgeBase/forgebase-ts.git\n   cd forgebase-ts\n   ```\n\n2. Install dependencies:\n   ```sh\n   pnpm install\n   ```\n\n### Build\n\nTo build all apps and packages, run the following command:\n\n```\ncd my-turborepo\npnpm build\n```\n\n### Develop\n\nTo develop all apps and packages, run the following command:\n\n```\ncd my-turborepo\npnpm dev\n```\n\n### Remote Caching\n\n\u003e [!TIP]\n\u003e Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk\u0026utm_campaign=free_remote_cache).\n\nTurborepo can use a technique known as [Remote Caching](https://turborepo.com/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.\n\nBy default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:\n\n```\ncd my-turborepo\nnpx turbo login\n```\n\nThis will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).\n\nNext, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:\n\n```\nnpx turbo link\n```\n\n## Useful Links\n\nLearn more about the power of Turborepo:\n\n- [Tasks](https://turborepo.com/docs/crafting-your-repository/running-tasks)\n- [Caching](https://turborepo.com/docs/crafting-your-repository/caching)\n- [Remote Caching](https://turborepo.com/docs/core-concepts/remote-caching)\n- [Filtering](https://turborepo.com/docs/crafting-your-repository/running-tasks#using-filters)\n- [Configuration Options](https://turborepo.com/docs/reference/configuration)\n- [CLI Usage](https://turborepo.com/docs/reference/command-line-reference)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-forgebase%2Fforgebase-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe-forgebase%2Fforgebase-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-forgebase%2Fforgebase-ts/lists"}