{"id":17134149,"url":"https://github.com/fernandes/todomvc-rails-react","last_synced_at":"2026-01-30T10:21:08.567Z","repository":{"id":16524256,"uuid":"95719718","full_name":"fernandes/todomvc-rails-react","owner":"fernandes","description":"🔬todomvc using react, rails 5.1, webpacker, server side rendering","archived":false,"fork":false,"pushed_at":"2022-12-14T02:06:47.000Z","size":692,"stargazers_count":0,"open_issues_count":29,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-14T15:38:03.605Z","etag":null,"topics":["experiment","rails","react","todomvc","todomvc-rails-react"],"latest_commit_sha":null,"homepage":"https://todo.sparklingbiz.com/","language":"Ruby","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/fernandes.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}},"created_at":"2017-06-28T23:24:40.000Z","updated_at":"2019-06-25T13:12:50.000Z","dependencies_parsed_at":"2022-08-29T03:30:31.550Z","dependency_job_id":null,"html_url":"https://github.com/fernandes/todomvc-rails-react","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/fernandes%2Ftodomvc-rails-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandes%2Ftodomvc-rails-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandes%2Ftodomvc-rails-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandes%2Ftodomvc-rails-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fernandes","download_url":"https://codeload.github.com/fernandes/todomvc-rails-react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427012,"owners_count":20937214,"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":["experiment","rails","react","todomvc","todomvc-rails-react"],"created_at":"2024-10-14T19:44:01.007Z","updated_at":"2026-01-30T10:21:08.495Z","avatar_url":"https://github.com/fernandes.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TodoMVC Rails React\n\ntodomvc.com example built using rails 5, [webpacker](https://github.com/rails/webpacker) and react.\n\n## Development\n\n```\nbundle install\ncd vendor \u0026\u0026 yarn install \u0026\u0026 cd ..\nforeman start\nopen http://localhost:5000/\n```\n\nIf you wanna simulate a production environment compile the assets and run in production environment\n\n```bash\nrake assets:precompile # will compile webpack too\nRAILS_SERVE_STATIC_FILES=true SECRET_KEY_BASE=\"secretkey\" RAILS_ENV=production rails s -b 0.0.0.0 -p 5000\n```\n\n## TODO\n\nThe code is port of a v0.13 react version, so I intend to make it follow the best practices described on v15 documentation.\n\n- [X] Add system tests\n- [ ] Add redux and rails API\n  - [ ] REST\n  - [ ] GraphQL\n\n## Performance\n\nThis project is using `react-rails` to deliver the component rendered on the server side (Server Side Rendering), also applied some techniques to make Google happy and get a 100 grade on Google PageSpeed Insights\n\n\u003cimg src=\"docs/page_speed_mobile.png\" width=\"300\"\u003e\n\u003cimg src=\"docs/page_speed_desktop.png\" width=\"300\"\u003e\n\nAlso, the projects uses [actionpack-action_caching](https://github.com/rails/actionpack-action_caching) gem, once the idea is cache the first access so rails don't need to process the react component every single access, as the memory store is being used, no worries about increasing the version number.\n\n## Thanks\n\nBased on original work [todomvc react](https://github.com/tastejs/todomvc/tree/gh-pages/examples/react) created by [petehunt](http://github.com/petehunt/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandes%2Ftodomvc-rails-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandes%2Ftodomvc-rails-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandes%2Ftodomvc-rails-react/lists"}