{"id":25715116,"url":"https://github.com/techfever-soft/nyxa-core","last_synced_at":"2026-02-19T13:32:57.258Z","repository":{"id":278098870,"uuid":"933778864","full_name":"techfever-soft/nyxa-core","owner":"techfever-soft","description":"A core library for Nyxa API Visualizer","archived":false,"fork":false,"pushed_at":"2025-03-09T16:17:43.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-01T16:53:40.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/techfever-soft.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":"2025-02-16T17:10:26.000Z","updated_at":"2025-03-09T16:17:46.000Z","dependencies_parsed_at":"2025-02-25T13:43:08.020Z","dependency_job_id":null,"html_url":"https://github.com/techfever-soft/nyxa-core","commit_stats":null,"previous_names":["techfever-soft/nyxa-core"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techfever-soft%2Fnyxa-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techfever-soft%2Fnyxa-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techfever-soft%2Fnyxa-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techfever-soft%2Fnyxa-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techfever-soft","download_url":"https://codeload.github.com/techfever-soft/nyxa-core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252532677,"owners_count":21763454,"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":[],"created_at":"2025-02-25T13:43:04.113Z","updated_at":"2026-02-19T13:32:52.229Z","avatar_url":"https://github.com/techfever-soft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nyxa Core : Connecting Client and API Nodes Visually\n\n## Overview\n\nNyxa-Core is the core engine of a larger project designed to facilitate the visual connection of client nodes to API nodes or other services. It provides a structured foundation for managing connections, handling API requests, and ensuring seamless interactions between front-end applications and back-end services through an intuitive UI.\n\n## Features\n\n- **Node-Based Connection Management**: Enables visually connecting client nodes to API or other service nodes.\n- **Event-Driven Architecture**: Utilizes an event bus system for optimized communication.\n- **Request \u0026 Response Management**: Ensures smooth and structured API interactions.\n- **Reactive State Management**: Built with RxJS for real-time data updates.\n- **Modular and Scalable**: Easily integrates into various applications with a flexible approach.\n\n## Installation\n\nTo install Nyxa-Core, use the following command:\n\n```sh\nnpm install nyxa-core\n```\n\n## Getting Started\n\n### Importing Nyxa-Core\n\n```ts\nimport { NyxaConnectionManager } from \"nyxa-core\";\n```\n\n### Creating a Connection \u0026 optionally a request\n\n```ts\nconst connectionManager = NyxaConnectionManager.getInstance();\n\nconst clientNode: NyxaClientNodeInterface = {\n  id: \"login-button\",\n  name: \"Login Button\",\n  type: \"action\",\n  request: \u003cNyxaRequestInterface\u003e{\n    method: \"GET\",\n    endpoint: \"/login\",\n  },\n};\n\nconst apiNode: NyxaServerNodeInterface = {\n  id: \"login-endpoint\",\n  name: \"Login Endpoint\",\n  type: \"endpoint\",\n  endpoint: \"/login\",\n};\n\nconst connection = await connectionManager.createConnection(\n  actionNode,\n  apiNode\n);\n\nconsole.log(\"connection created =\u003e \", connection);\n```\n\n### Managing API Requests\n\n```ts\nimport { NyxaRequestManager } from \"nyxa-core\";\n\nconst requestManager = NyxaRequestManager.getInstance();\n\nconst response = await requestManager.createRequest(connection);\n\nconsole.log(\"API Response =\u003e \", response);\n```\n\n### Subscribing to events\n\n```ts\nNyxaEventBus.on(\"connectionCreated\", (connection) =\u003e {\n  console.log(\"✅ Connection created :\", connection);\n});\n\nNyxaEventBus.on(\"connectionCancelled\", (connection) =\u003e {\n  console.log(\"❌ Connection deleted :\", connection);\n});\n\nNyxaEventBus.on(\"connectionUpdated\", (connection) =\u003e {\n  console.log(\"🔄 Connection updated :\", connection);\n});\n\nNyxaEventBus.on(\"responseReceived\", ({ connection, response }) =\u003e {\n  console.log(\n    `📩 Response received from ${connection.source.id} -\u003e ${connection.target.id}:`,\n    response\n  );\n});\n```\n\n## Use Cases\n\n- **Node-Based UI for Connecting Clients to APIs**: Provides a visual interface for managing and linking different nodes.\n- **Single Page Applications (SPAs)**: Seamless interaction between the front-end and API.\n- **Microservices Communication**: Managing API endpoints efficiently.\n- **Real-time Data Processing**: Using the event bus for real-time updates.\n\n## What's Next?\n- Explore the full API documentation (coming soon).\n- Try integrating Nyxa-Core with your own API.\n- Contribute to the project by reporting issues or suggesting improvements.\n\n## Contributing\n\nWe welcome contributions! Feel free to open an issue or submit a pull request.\n\n## License\n\nNyxa is released under the **MIT License**.\n\n## Contact\n\nFor any inquiries or support, please reach out via techfever.dev@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechfever-soft%2Fnyxa-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechfever-soft%2Fnyxa-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechfever-soft%2Fnyxa-core/lists"}