{"id":25398128,"url":"https://github.com/axnjr/ignite","last_synced_at":"2025-07-04T14:39:53.698Z","repository":{"id":227180753,"uuid":"770693042","full_name":"Axnjr/Ignite","owner":"Axnjr","description":"A Robust Real-Time Event Streaming, Software and Infrastructure as a Service Written In Rust.","archived":false,"fork":false,"pushed_at":"2025-01-23T09:20:14.000Z","size":187,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T10:25:22.041Z","etag":null,"topics":["aws","aws-ec2","events","iaas","kafka","notifications","real-time","rust","rust-lang","saas","sync","websocket"],"latest_commit_sha":null,"homepage":"https://ignition.dev(comming soon)","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Axnjr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03-12T01:45:10.000Z","updated_at":"2025-01-23T09:20:18.000Z","dependencies_parsed_at":"2024-05-01T16:53:25.231Z","dependency_job_id":"dc9da2e7-11e2-4da1-be43-52643df56ea7","html_url":"https://github.com/Axnjr/Ignite","commit_stats":null,"previous_names":["axnjr/ignite"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axnjr%2FIgnite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axnjr%2FIgnite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axnjr%2FIgnite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axnjr%2FIgnite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Axnjr","download_url":"https://codeload.github.com/Axnjr/Ignite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239065742,"owners_count":19575773,"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":["aws","aws-ec2","events","iaas","kafka","notifications","real-time","rust","rust-lang","saas","sync","websocket"],"created_at":"2025-02-15T22:34:42.762Z","updated_at":"2025-02-15T22:34:43.228Z","avatar_url":"https://github.com/Axnjr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💥 Ignition - Robust Real-Time Event Streaming Service in Rust 🦀\n  \n[![Share on X](https://img.shields.io/badge/share-000000?logo=x\u0026logoColor=white)](https://x.com/intent/tweet?text=Check%20out%20this%20project%20on%20GitHub:%20https://github.com/Axnjr/Ignite%20%23OpenIDConnect%20%23Security%20%23Authentication)\n[![Share on Facebook](https://img.shields.io/badge/share-1877F2?logo=facebook\u0026logoColor=white)](https://www.facebook.com/sharer/sharer.php?u=https://github.com/Axnjr/Ignite)\n[![Share on LinkedIn](https://img.shields.io/badge/share-0A66C2?logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/sharing/share-offsite/?url=https://github.com/Axnjr/Ignite)\n[![Share on Reddit](https://img.shields.io/badge/share-FF4500?logo=reddit\u0026logoColor=white)](https://www.reddit.com/submit?title=Check%20out%20this%20project%20on%20GitHub:%20https://github.com/Axnjr/Ignite)\n[![Share on Telegram](https://img.shields.io/badge/share-0088CC?logo=telegram\u0026logoColor=white)](https://t.me/share/url?url=https://github.com/Axnjr/Ignite\u0026text=Check%20out%20this%20project%20on%20GitHub)\n\n# Overview \n\nI worked on this project during my internship at **Dynamite** in the notifications team, later I decided to continue the project as SaaS side hustle.  This repository serves as a **MonoRepo** for all the `Rust` components involved in the project.  \n\n### Other Components:\n- [**The Web App**](https://github.com/Axnjr/Ignition-Web)  \n- [**Client Pub-Sub SDK (JavaScript)**](https://github.com/Ignition-Dev/Js-Sdk)  \n- [**Test Playground**](https://github.com/Ignition-Dev/Js-Sdk/tree/main/playground)  \n- [**Lambda Functions**](https://github.com/Axnjr/dailyCronJob)  \n\n---\n\n# Example Usage \nUsers need to get their `API_KEY` by creating their account. Hobby users get 100 daily requests and 10 con-current connections to exceed this limit users can subscribe to other paid plans. To interact with `Ignition` you can use the language specific SDK'S, untill now only JS SDK is available 😅, below is sample of how to use it:\n```js\nimport Ignition from \"ignition-js-sdk\";\n\nlet ws = new Ignition({\n    url: process.env.IGNITION_WSS_URL,\n    apiKey: process.env.IGNITION_API_KEY,\n    encryptionKey:\"RADHA\" // IF YOU WANT TO ENCRYPT YOUR MESSAGES. MESSAGES NEED TO BE DECRYPTED USING THE SAME KEY ON THE OTHER END !\n})\n\nws.subscribe(\"test\") // eventName\n\nws.on(\"test\", (data) =\u003e { // eventName, callback\n\tconsole.log(\"message recived by `b`:\",data)\n})\n\nws.emit(\"test\", \"test\", \"hello world\") // eventName: String, channelName: String, message: Any\n\nws.emit(\"test\", \"test\", {\n  \"Name\": \"Axn\",\n  \"Age\": 21,\n  \"Occupation\": \"SDE\"\n})\n\nws.emit(\"tes\", \"test\", 56);\n```\n\n# Data flow diagram \n![My First Board](https://github.com/user-attachments/assets/d3d8df0f-5b2e-4577-b48d-e4cc49b9e6f3)\n\n---\n\n# Architecture \n\n- **Hobby** and **Pro** requests are handled by the [`ignition_shared_v5`](https://github.com/Axnjr/Ignite/tree/main/ignition_shared_v5) container, which is deployed using **AWS Elastic Container Service (ECS)**.  \n- For **Enterprise** clients, a dedicated instance is provisioned with the [`dedicated_v2`](https://github.com/Axnjr/Ignite/tree/main/WssDedicated) container for optimal performance. 💥\n\n---\n\n# Subscription Model \n\n\u003ctable border=\"0\" cellspacing=\"14\" cellpadding=\"24\" style=\"width: 100%; text-align: center;\"\u003e\n  \u003cthead style=\"background-color: #f2f2f2;\"\u003e\n    \u003ctr\u003e\n      \u003cth\u003ePlan\u003c/th\u003e\n      \u003cth\u003eDaily Requests\u003c/th\u003e\n      \u003cth\u003eConcurrent Connections\u003c/th\u003e\n      \u003cth\u003eAdditional Features\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eHobby (Free)\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eUp to 100\u003c/td\u003e\n      \u003ctd\u003e10\u003c/td\u003e\n      \u003ctd\u003e—\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003ePro (Paid)\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eUp to 10,000\u003c/td\u003e\n      \u003ctd\u003e500\u003c/td\u003e\n      \u003ctd\u003e—\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cstrong\u003eEnterprise\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd\u003eUnlimited\u003c/td\u003e\n      \u003ctd\u003eUnlimited\u003c/td\u003e\n      \u003ctd\u003e\n        \u003cul\u003e\n          \u003cli\u003eNo rate-limiting or authentication overhead.\u003c/li\u003e\n          \u003cli\u003eEnhanced data security and governance.\u003c/li\u003e\n          \u003cli\u003eMinimal latency (25ms).\u003c/li\u003e\n          \u003cli\u003eCustom logging and configuration.\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n---\n\n# Features\n\n- Scalable real-time event streaming built with **Rust**.\n- Data security and privacy using `AES Encryption`.\n- Designed for high performance and low latency.  \n- Flexible subscription plans for various use cases.  \n- Easily deployable and maintainable with AWS ECS.\n- Most affordable real-time service compared from: [Ably](https://ably.com/), [Pusher](https://pusher.com/), etc\n\n---\n\n# Upcomming features\n- `XMPP Protocol` (What whatsapp uses) based event transmision\n- `WebRTC` implementation for audio, video data.\n- `SDK's` in other languages like Python, Java, Rust, Golang, Php, Ruby, etc ..\n\n# Docker Hub links \n\n#### [**Public Shared Server**](https://hub.docker.com/r/axnjr/ignition_shared)\n```\ndocker pull axnjr/ignition_shared:v5\n```\n\n#### [**Dedicated Private Server**](https://hub.docker.com/r/axnjr/ignition_wssd)\n```\ndocker pull axnjr/ignition_wssd\n```\n\n# Feel free to explore and contribute!   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxnjr%2Fignite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxnjr%2Fignite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxnjr%2Fignite/lists"}