{"id":16252380,"url":"https://github.com/remarkablemark/universal-react-tutorial","last_synced_at":"2025-03-16T13:30:37.380Z","repository":{"id":66056525,"uuid":"59802075","full_name":"remarkablemark/universal-react-tutorial","owner":"remarkablemark","description":":notebook: How to build universal web apps with React.","archived":false,"fork":false,"pushed_at":"2017-08-02T02:38:07.000Z","size":33,"stargazers_count":136,"open_issues_count":1,"forks_count":25,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-02-27T09:30:38.536Z","etag":null,"topics":["express","isomorphic","nodejs","react","react-router","redux","screencast","tutorial","universal","universal-react-tutorial"],"latest_commit_sha":null,"homepage":"https://b.remarkabl.org/react-playlist","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/remarkablemark.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},"funding":{"github":["remarkablemark"],"patreon":"remarkablemark","open_collective":null,"ko_fi":"remarkablemark","tidelift":null,"community_bridge":null,"liberapay":"remarkablemark","issuehunt":null,"otechie":null,"custom":["https://b.remarkabl.org/teespring"]}},"created_at":"2016-05-27T03:44:20.000Z","updated_at":"2024-02-12T09:44:48.000Z","dependencies_parsed_at":"2024-02-01T03:09:34.062Z","dependency_job_id":"79b5aa66-aa54-4fd7-a4f8-0c19384f8a5b","html_url":"https://github.com/remarkablemark/universal-react-tutorial","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Funiversal-react-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Funiversal-react-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Funiversal-react-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Funiversal-react-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remarkablemark","download_url":"https://codeload.github.com/remarkablemark/universal-react-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243815561,"owners_count":20352189,"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":["express","isomorphic","nodejs","react","react-router","redux","screencast","tutorial","universal","universal-react-tutorial"],"created_at":"2024-10-10T15:13:29.452Z","updated_at":"2025-03-16T13:30:36.960Z","avatar_url":"https://github.com/remarkablemark.png","language":"JavaScript","readme":"# Universal React Tutorial\n\nA tutorial on building [universal](https://b.remarkabl.org/2dItzph) web applications.\n\nThe web application is built with:\n- [Node.js](https://b.remarkabl.org/1WNE4aa)\n- [Express](https://b.remarkabl.org/1WhuaOl)\n- [React](https://b.remarkabl.org/24739fL)\n- [ReactRouter](https://b.remarkabl.org/2dhSEVJ)\n- [Redux](https://b.remarkabl.org/2gU9dHt) and [ReactRedux](https://b.remarkabl.org/2gBtLbs)\n\n## Download\n\n```sh\n$ git clone https://github.com/remarkablemark/universal-react-tutorial.git\n$ cd universal-react-tutorial\n```\n\n## Tutorials\n\n[1. Server-side rendering with React](https://b.remarkabl.org/1TIalfC):\n\n```sh\n$ git checkout v1\n$ npm install\n$ npm start\n```\n\n[2. Building a universal/isomorphic app with React](https://b.remarkabl.org/1XKYMqp):\n\n```sh\n$ git checkout v2\n$ npm install\n$ npm start\n```\n\n[3. Passing props in a universal React web app](https://b.remarkabl.org/1UfmGeA):\n\n```sh\n$ git checkout v3\n$ npm install\n$ npm start\n```\n\n[4. Server-side routing with react-router@3](https://b.remarkabl.org/2dCiZ06):\n\n```sh\n$ git checkout v4\n$ npm install\n$ npm start\n```\n\n[5. Client-side routing with react-router@3 (Part 1)](https://b.remarkabl.org/2faLHsH):\n\n```sh\n$ git checkout v5\n$ npm install\n$ npm start\n```\n\n[6. Client-side routing with react-router@3 (Part 2)](https://b.remarkabl.org/2fOOWn7):\n\n```sh\n$ git checkout v6\n$ npm install\n$ npm start\n```\n\n[7. Universal rendering with React and Redux](https://b.remarkabl.org/2hybtYR):\n\n```sh\n$ git checkout v7\n$ npm install\n$ npm start\n```\n\n[8. Refactor a React app from ES5 to ES6](https://b.remarkabl.org/2q5jl8M):\n\n```sh\n$ git checkout v8\n$ npm install\n$ npm start\n```\n\n## License\n\n[MIT](https://github.com/remarkablemark/universal-react-tutorial/blob/master/LICENSE)\n","funding_links":["https://github.com/sponsors/remarkablemark","https://patreon.com/remarkablemark","https://ko-fi.com/remarkablemark","https://liberapay.com/remarkablemark","https://b.remarkabl.org/teespring"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremarkablemark%2Funiversal-react-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremarkablemark%2Funiversal-react-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremarkablemark%2Funiversal-react-tutorial/lists"}