{"id":26452055,"url":"https://github.com/yokyak/react-agent","last_synced_at":"2025-04-09T14:06:22.159Z","repository":{"id":143904618,"uuid":"116441945","full_name":"yokyak/react-agent","owner":"yokyak","description":"Client and server-side state management library","archived":false,"fork":false,"pushed_at":"2018-11-05T22:05:23.000Z","size":2208,"stargazers_count":237,"open_issues_count":0,"forks_count":21,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-02T08:55:51.700Z","etag":null,"topics":["database","database-management","javascript","react","reactjs","redux","sql","state-management","synchronization","websockets"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/yokyak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2018-01-06T00:57:49.000Z","updated_at":"2025-02-11T15:50:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"b01e730e-6029-4df3-a4a4-58d725a02d78","html_url":"https://github.com/yokyak/react-agent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yokyak%2Freact-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yokyak%2Freact-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yokyak%2Freact-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yokyak%2Freact-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yokyak","download_url":"https://codeload.github.com/yokyak/react-agent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054230,"owners_count":21039952,"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":["database","database-management","javascript","react","reactjs","redux","sql","state-management","synchronization","websockets"],"created_at":"2025-03-18T17:26:02.289Z","updated_at":"2025-04-09T14:06:22.137Z","avatar_url":"https://github.com/yokyak.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Agent\n\n\n[![License](https://img.shields.io/github/license/yokyak/react-agent.svg)](https://github.com/yokyak/react-agent/blob/master/LICENSE.txt)\n[![React Agent](https://img.shields.io/npm/v/react-agent.svg)](https://www.npmjs.com/package/react-agent)\n[![React Agent Server](https://img.shields.io/npm/v/react-agent-server.svg)](https://www.npmjs.com/package/react-agent-server)\n[![Build Status](https://travis-ci.org/yokyak/react-agent.svg?branch=master)](https://travis-ci.org/yokyak/react-agent)\n[![Coverage Status](https://coveralls.io/repos/github/yokyak/react-agent/badge.svg)](https://coveralls.io/github/yokyak/react-agent)\n\nReact Agent is a JavaScript library for your client store, server querying, and database management. It can be included in any React project without conflict with other state management tools or REST APIs.\n\nReact Agent is easy to learn.\n\nHere's the basic idea: the client runs 'actions' that are defined on the server-side.\n\n```javascript\n// client.js\nrun(‘setMessage’, { message: ‘Hello World’ })\n\n// server.js\nsetMessage: {\n    action: ‘INSERT INTO messages(text) VALUES(:message)’\n}\n```\n\nThese actions can be as powerful as you want -- i.e. CRUD operations, API calls, and authentication. Moreover, clients can subscribe to server-side actions so that they  receive live updates.\n\nReact Agent includes offline-support to render optimistic updates and then synchronization on reestablished network connection. It also features time travel debugging.\n\n*Why use React Agent?*\n\nThe popular conceptualization of state management stores state in two places: data on the client-side and data on the server-side.\n\nTo connect these, front-end and back-end developers usually write a lot of code such as HTTP requests, controllers, and routes. It can get complicated.\n![previous](https://github.com/yokyak/react-agent/raw/master/docs/imgs/diagram-before.gif)\n\nIn contrast, React Agent serves as a communication channel between the client and the server. It abstracts state transfer to make it super easy to interact between the client and server.\n![now](https://github.com/yokyak/react-agent/raw/master/docs/imgs/diagram-after.gif)\n\n## Documentation\n\nHere's our full [API documentation](https://github.com/yokyak/react-agent/blob/master/docs/documentation.md).\n\n## Getting Started\n\nInstall the package:\n\n```bash\nnpm install react-agent --save\n```\n\nSee [React Agent](https://github.com/yokyak/react-agent/tree/master/packages/react-agent) for information about client-side set-up.\n\n\n\nInstall the package:\n\n```bash\nnpm install react-agent-server --save\n```\n\nSee [React Agent Server](https://github.com/yokyak/react-agent/tree/master/packages/react-agent-server) for information about server-side set-up.\n\n\n## Contributors\n\n### Contributing\n\nPlease submit issues/pull requests if you have feedback or message the React Agent team to be added as a contributor: reactagent@gmail.com\n\n### Authors\n\n* **Tom Rosenblatt** - [https://github.com/tskittles](https://github.com/tskittles)\n\n* **Eric Choi** - [https://github.com/eric2turbo](https://github.com/eric2turbo)\n\n* **Henry Au** - [https://github.com/hhau01](https://github.com/hhau01)\n\n* **Andrew Harris** - [https://github.com/didrio](https://github.com/didrio)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyokyak%2Freact-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyokyak%2Freact-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyokyak%2Freact-agent/lists"}