{"id":14987713,"url":"https://github.com/torabian/fireback","last_synced_at":"2026-03-02T13:18:42.871Z","repository":{"id":223948738,"uuid":"761404347","full_name":"torabian/fireback","owner":"torabian","description":"Fireback - Ultimate backend framework for Go - Build backend in 15 minutes, Code gen for Go, React, Angular, Android, Swift...","archived":false,"fork":false,"pushed_at":"2025-04-08T07:08:30.000Z","size":84528,"stargazers_count":19,"open_issues_count":7,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-08T08:23:29.475Z","etag":null,"topics":["api","backend","gin","golang","microservice","rest-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/torabian.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-02-21T20:04:38.000Z","updated_at":"2025-04-04T20:00:39.000Z","dependencies_parsed_at":"2024-06-16T10:25:49.841Z","dependency_job_id":"cde16d21-5e7a-4194-9ac7-a28b7eb0003a","html_url":"https://github.com/torabian/fireback","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.25,"last_synced_commit":"728e582c3948b2dae26906283595cd107ef9678e"},"previous_names":["torabian/fireback"],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torabian%2Ffireback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torabian%2Ffireback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torabian%2Ffireback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torabian%2Ffireback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/torabian","download_url":"https://codeload.github.com/torabian/fireback/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248498087,"owners_count":21114035,"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","backend","gin","golang","microservice","rest-api"],"created_at":"2024-09-24T14:15:15.158Z","updated_at":"2026-03-02T13:18:42.864Z","avatar_url":"https://github.com/torabian.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fireback – Ultimate backend framework\n\nDefine yaml, generate code, generate sdks for fronts.\n\nFireback is a **microservice-oriented backend framework** written in Go. It's designed for developers who want to build fast, scalable, and modular systems without boilerplate. It can accelerate development **20x-30x** for many common backends.\nFireback with ABAC module, can handle large scale issues for Indie developers.\n\n\u003cimg src=\".github/logo.svg\" alt=\"Fireback logo\" width=\"200\"/\u003e\n\n\n\n## Getting started\n\nIf you want to build a new go project using fireback, easiest is to download the https://github.com/torabian/fireback/releases/download/latest/fireback-microservice-boilerplate.zip \n\nand continue from there. Make sure you have installed necessary vscode extensions, for code completion.\n\nOr you can go deeper, and install CLI:\n\n- [Download and install fireback](./download-and-install-fireback)\n- [Your first fireback project](./first-fireback-project)\n\n\n### Microservices Made Easy\n\nAt its core, Fireback is built around **definition files** that let you describe your services, entities, and APIs in a structured way. From those definitions, Fireback generates:\n\n- Go microservices with REST endpoints  \n- React SDKs  \n- Android/iOS SDKs (via Swift/Kotlin)  \n- DTOs and boilerplate handlers\n\nYour backend becomes a network of services, each independently deployable and easy to integrate across clients.\n\n\n\n### Fullstack Codegen for Microservices\n\nOnce your microservices are defined, Fireback’s CLI tools generate frontends and SDKs for various platforms—React, Android, iOS—making it dead-simple for apps to consume your services. Backend and client are always in sync.\n\n\n### Modular by Design\n\nFireback services are cleanly separated and **decoupled**, built on top of **Gin** and **Gorm**, with minimal overhead. You can add Fireback to new or existing systems. Each generated microservice can live on its own or be composed in larger systems.\n\n## License\n\nThis project is licensed under the [GNU Affero General Public License (AGPL)](LICENSE.md). Contributions and modifications must be shared under the same terms. \n\n## Documents\n\nThe original documents are provided in https://torabi.io/fireback but for quick understanding you\ncan continue reading this document.\n\n\n## Watch on youtube (How to build a backend in 15 minutes)\n\n[![Fireback in action](https://img.youtube.com/vi/G2Wjeq7ZmS0/0.jpg)](https://www.youtube.com/watch?v=G2Wjeq7ZmS0)\n\n## Core principles\n\nThe reason I have started this project was to change the course of action for entire software development I am involved for next\n30 years, they include but not limited to:\n\n- Compile the fastest (within 10 seconds or less), use the least memory (less than 5MB in idle mode), and ensure type safety.\n- Products should have a minimum lifespan of 20 years after their initial build.\n- Never rewrite the code, due to back structure or skipping important details (remove the \"Nice to have\" line)\n- Achieve machine independence without relying on Docker or other similar tools.\n- Compile for various platforms including web, native mobile (iOS, Android), desktop, and embedded devices.\n- Do not address ambiguity regarding roles, workspaces, permissions, or email/SMS/OAuth authentication.\n- Utilize SQL with an organized data structure.\n- Prioritize code management over code generation.\n- Significantly reduce the build times for clients in Android, React, Angular, and SwiftUI.\n- Zero setup backend usage for front-end or app developers\n- Always provide more than any one's need, always before they ask\n\n## Core features on backend\n\n- Integrated desktop app support using Wails\n- Binaries ready to be embedded on Android and IOS native, as well as cordova for offline backend usage (same code base)\n- Build on top of Golang. Fast build time, blazing fast runtime, least memory usage.\n- Terminal (CLI) for everything, even user signup, forget password\n- User/Role/Workspace built into everything.\n- User permission management\n- Relational Database support (Sqlite/Mysql/Oracle/Postgres)\n- Nested, Object in Object, Array in Object, Object in Array post form handler\n- Polyglot (Multilingual) built into the definition\n- File upload system, virtual directories based on resumable file upload (TUS)\n- Form validation, even for nested objects\n- Reactive stream query based on WebSocket on Module3 definition\n- Bulk Patch (Update) on every entity.\n- Publicly available versus workspace/user protected actions\n- Custom action definition, auto cast from HTTP and CLI\n- Generate Post, Patch, Query, Delete, Bulk Patch, for every entity\n- Html and rich text content storage\n- Dynamic data using json support as well as ERD data storage\n- QueryDSL for every entity, to query, filter them, sort, without extra dependencies\n- Built in search mechanism\n- Multilingual menu system, sidebar, tabbar design.\n- Generate API and actions to work with children (nested elements) inside another entity (add/remove/etc)\n- Auto handle for unique ids and relations between non-nested elements\n- Formatting dates, currency, time, based on the client region\n- Backend error translated based on the accept language\n- Complete and unified google json styleguide response, without even single exception\n- Manual and automatic mocking system built into all entities\n- Seeder system to include the initial or necessary content for the entities to built to binary (yaml/json/csv)\n- Advanced background operation for import/export all entities\n- Default and custom defined permission definition\n- CSV/yaml data template generation to fill in and import\n- Auto sanitize the content\n- Advanced and clean form validation, excerpt content creation\n- Casting dto/entity from cli parameters\n- Pdf export for the queries (beta) without any kind of thirdparty dependency\n- JsonDSL (for complex conditions on a query) and QueryDSL (textual query)\n- Predefined queries on SQL (Pivot and Recursive CTE operation for all entities)\n- Event system for changes on the entity, and broadcasting to rooms using WebSocket\n- Wipe entities on CLI (development) and multi row delete \n- Automatic forcing the user privilegs on the content they can create or modify\n- Multiple workspaces, and multiple roles inside each workspace\n- Multiple workspace type (such as School, Student, etc)\n- Direct signup to a team, via public join key\n- Distinct by user, workspace operation flag\n- Interactive cli tools for creating entities, as well as traditional\n- Support of complex enum, which casts to all major programming languages\n\n## React/Native generator features\n\n- Action, errors, dto and entites definitions\n- Fields information\n- Autogenerate necessary form elements\n- Backend post/get/... methods with typesafety\n- Automatic event mapped to socket and update ui\n- Caching, filters, multiple update handlers\n- Typesafe translations\n- Error handling for each input parser\n\n## Android/IOS compiler features\n\n- Full ABAC screens and functionality using native elements\n- Entire dto, actions, entities on Java and Swift.\n- Form generation helpers\n \n\n## Sample client key OAuth google\n\n1040931581120-prdfdml80dl7uaq3999jkge72dph280l.apps.googleusercontent.com\nfb: 1242737803616678\nStripe sample: sk_ test _51Rgi39Q mgiVL99NYaGNt4onAjBbSraf4Lo10siAoaZ5MhsdRQ i749V6dxRWAFqt0jL1epuYYPtee8iL8shHSjfxX002eyc6eWo\n## Change the fireback version\n\nIn order to release a new fireback, follow these steps:\n\n- cmd/fireback/fireback-deb.sh\n- OVERVIEW.md\n- cmd/fireback/msi/Product.wxs\n- .github/workflows/fireback-build.yml\n- modules/fireback/version.go\n- make refresh \u0026\u0026 make rebuild-sdks\n- cd cmd/fireback \u0026\u0026 make ui2 (it's for the selfservice and manage bundles to be available in the binary)\n\n## Archive has been removed.\n\nThe archive folder which had old codes for different purposes is removed in 7fe548ebbbbeaa3291b53e8cb5b21f2bc34d895b commit. Checkout that\nif you needed.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorabian%2Ffireback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorabian%2Ffireback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorabian%2Ffireback/lists"}