{"id":19154043,"url":"https://github.com/thinkswan/redux-voting-app","last_synced_at":"2026-04-13T00:37:55.961Z","repository":{"id":54086407,"uuid":"194312381","full_name":"thinkswan/redux-voting-app","owner":"thinkswan","description":"A React app that allows users to vote for things and uses Redux.","archived":false,"fork":false,"pushed_at":"2021-03-09T15:26:35.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-03T19:24:02.189Z","etag":null,"topics":["javascript","react","redux","socket-io","tutorial"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"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/thinkswan.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}},"created_at":"2019-06-28T17:42:55.000Z","updated_at":"2019-06-28T18:10:58.000Z","dependencies_parsed_at":"2022-08-13T06:40:18.442Z","dependency_job_id":null,"html_url":"https://github.com/thinkswan/redux-voting-app","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/thinkswan%2Fredux-voting-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkswan%2Fredux-voting-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkswan%2Fredux-voting-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkswan%2Fredux-voting-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinkswan","download_url":"https://codeload.github.com/thinkswan/redux-voting-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240237886,"owners_count":19769827,"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":["javascript","react","redux","socket-io","tutorial"],"created_at":"2024-11-09T08:25:15.754Z","updated_at":"2026-04-13T00:37:50.926Z","avatar_url":"https://github.com/thinkswan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# redux-voting-app\n\nA React app that allows users to vote for things and uses Redux.\n\nBased on the tutorial found at\nhttp://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html.\n\n## How to use\n\n```\nnpm install\ncd client/ \u0026\u0026 npm install cd ../ # Run `npm install` in `client/` to install client dependencies\nnpm test\nnpm run dev\n```\n\nThis will start a server at http://localhost:8080/.\n\nTo view the results of a vote, visit http://localhost:8080/#/results.\n\n## How it works\n\nThe app is implemented using React components with state being managed by a\nRedux store. Action creators are used to connect each component to the store\nand reducers are used to transform the state when the user interacts with the\napp and when the server emits updated data.\n\nA custom piece of middleware called `RemoteActionMiddleware` emits actions to\nthe server when necessary.\n\nThe client and server talk to each other using web sockets implemented by\nSocket.io.\n\nThe server is implemented using Socket.io so multiple clients can easily\nparticipate in each vote. The server emits a `state` event whenever data changes\nand listens to `action` events to store votes from the clients.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkswan%2Fredux-voting-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkswan%2Fredux-voting-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkswan%2Fredux-voting-app/lists"}