{"id":17513034,"url":"https://github.com/uteamjs/uteam-react","last_synced_at":"2025-10-30T14:48:16.005Z","repository":{"id":57092602,"uuid":"396282757","full_name":"uteamjs/uteam-react","owner":"uteamjs","description":"Frontend framework simplify the creation of React-Redux applictions.","archived":false,"fork":false,"pushed_at":"2025-09-10T05:22:26.000Z","size":280,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-10T08:56:07.450Z","etag":null,"topics":["nodejs","react","react-router","redux","yaml"],"latest_commit_sha":null,"homepage":"https://u.team","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/uteamjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-15T08:43:41.000Z","updated_at":"2025-09-10T05:22:29.000Z","dependencies_parsed_at":"2023-10-03T19:15:35.504Z","dependency_job_id":"43629ca9-b51c-4db8-9f8a-9d9c90e732db","html_url":"https://github.com/uteamjs/uteam-react","commit_stats":{"total_commits":107,"total_committers":2,"mean_commits":53.5,"dds":0.009345794392523366,"last_synced_commit":"ed87bdbf828394ae4ad79db188b3dcb71c161763"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/uteamjs/uteam-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uteamjs%2Futeam-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uteamjs%2Futeam-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uteamjs%2Futeam-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uteamjs%2Futeam-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uteamjs","download_url":"https://codeload.github.com/uteamjs/uteam-react/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uteamjs%2Futeam-react/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278497066,"owners_count":25996915,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["nodejs","react","react-router","redux","yaml"],"created_at":"2024-10-20T06:06:48.268Z","updated_at":"2025-10-05T18:26:16.317Z","avatar_url":"https://github.com/uteamjs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[@uteamjs/react](https://u.team/document/uteam-react/overview) is a framework that lets developers create **React-Redux** applications easily.  Developers immediately produce quality applications without any steep learning curve.  Experienced developers can focus more on business logic rather than coding a bunch of boilerplate.  \n\nUsing [@uteamjs/react](https://u.team/document/uteam-react/overview), there are no additional boilerplate files generated.  The **Redux reducer** logic and React layout components can be easily put together in a **single JSX** file.  It minimizes the development and maintenance effort substantially.\n\n# Installation\n[uteam CLI](https://u.team/document/uteam-react/overview) helps you automate the creation, deletion and generation of application modules and packages.\n```\n$ npm install -g uteam\n```\nUse **uteam create** to generate React-Redux application based on [@uteamjs/react](https://u.team/document/uteam-react/overview) framework:\n```\n$ uteam create -a tutorial-react -p get-started -g\n\n```\nChange to __...packages/main__ folder, then start the webpack development server:\n```\n$ npm start\n```\nOpen your browser with URL http://localhost:3000, then click the __Get Started__ link:\n\n![Get Started](https://u.team/assets/img/kix.sznz2xcqhgjb.png)\n\nRefer to [Get Started](https://u.team/document/introduction/getstart) for more details.\n\n# @uteamjs Element\n**@uteamjs \\\u003cElement\u003e** is a special React Element created by [utCreateElement()](https://u.team/document/uteam-react/utCreateElement) function, which is the core of the framework.\n## Reducer\n```jsx\nconst reducer = utReducer('react-example/hello-world', {\n   init: {\n       fields: {\n           name: {\n               label: 'Please enter your name'\n           },\n         ...\n       },\n      \n   },\n   actions: {\n       clear: (state, value) =\u003e state.fields.name.value = '',\n       ...\n   }\n})\n```\n[Reducer](https://u.team/document/uteam-react/reducer) is an object which has:\n- A unique identifier in the form of **\\\u003cModule\u003e/\\\u003cComponent\u003e**.\n- An **init** object for initializing the state variable\n- **actions** to be dispatched by the [call() / api()](https://u.team/document/uteam-react/callapi) functions\n## Layout\n```jsx\nconst layout = ({ _, Field }) =\u003e \u003c\u003e\n       \u003ch4\u003eHello World (use hook)\u003c/h4\u003e\n       \u003cField id='name' /\u003e\n       Your name is: {_.fields.name.value}\n   \u003c/\u003e\n```\n[Layout](https://u.team/document/uteam-react/layout) is the **@uteamjs** Component with different properties injected. A special **_** object refers to the state object inside the **Redux** store connected to this component.  Other variables include Form elements such as **Field, Section ...** and helper functions such [call() / api()](https://u.team/document/uteam-react/callapi).\n## utCreateElement\n```jsx\nexport default utCreateElement({ reducer, layout })\n```\nFinally, a standard **React JSX Element** is created using the [utCreateElement()](https://u.team/document/uteam-react/utCreateElement) function by passing the reducer and layout object to it.  \n\nAt the back, [@uteamjs/react](https://u.team/document/uteam-react/overview) helps to:\n- Initialize the **Redux store** with the init object\n- Create the action dispatcher\n- Connect the [reducer](https://u.team/document/uteam-react/reducer) to [layout](https://u.team/document/uteam-react/layout) component automatically\n- Inject state object, Form element and helper functions as properties in Layout component\n- Fetching data with backend [RESTful Api](https://u.team/document/uteam-node/api)\n- Setup the React-Router\n\n# License\n[MIT](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futeamjs%2Futeam-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futeamjs%2Futeam-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futeamjs%2Futeam-react/lists"}