{"id":18002663,"url":"https://github.com/cjen07/gobblet-gobblers","last_synced_at":"2025-03-26T08:31:17.921Z","repository":{"id":74193046,"uuid":"84195801","full_name":"cjen07/gobblet-gobblers","owner":"cjen07","description":"gobblet gobblers game in elixir, phoenix and elm","archived":false,"fork":false,"pushed_at":"2017-04-13T06:27:36.000Z","size":1004,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-21T12:21:30.751Z","etag":null,"topics":["elixir","elm","game","phoenix"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/cjen07.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-07T12:19:31.000Z","updated_at":"2024-06-09T08:45:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a6115b3-52ff-4605-801e-b2976fb7e166","html_url":"https://github.com/cjen07/gobblet-gobblers","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjen07%2Fgobblet-gobblers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjen07%2Fgobblet-gobblers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjen07%2Fgobblet-gobblers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjen07%2Fgobblet-gobblers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cjen07","download_url":"https://codeload.github.com/cjen07/gobblet-gobblers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245618742,"owners_count":20645060,"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":["elixir","elm","game","phoenix"],"created_at":"2024-10-29T23:23:11.375Z","updated_at":"2025-03-26T08:31:17.915Z","avatar_url":"https://github.com/cjen07.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"## gobblet gobblers\ngobblet gobblers game in elixir, phoenix and elm\n\nPlay online: [playground](https://immense-fjord-94074.herokuapp.com/) (v2.1-nightly lastest)\n\nRules: [gobblet-gobblers](https://github.com/cjen07/gobblet-gobblers/blob/master/rules/gobblet%20gobblers%20rules.pdf)\n\nTo start your Phoenix server:\n\n  * Install dependencies with `mix deps.get`\n  * Create and migrate your database with `mix ecto.create \u0026\u0026 mix ecto.migrate`\n  * Install Node.js dependencies with `cd assets \u0026\u0026 npm install`\n  * Install Elm dependencies with `cd assets/elm \u0026\u0026 `[`elm_install`](https://github.com/gdotdesign/elm-github-install)\n  * Start Phoenix endpoint with `mix phx.server`\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\n### to-do -\u003e v1.0\n- [x] use phoenix v1.3\n- [x] replace js by elm\n- [x] add gobblet logic\n- [x] add gobblet view\n- [x] test and publish\n\n### to-do for ux -\u003e v2.0\n- [x] better ui design with color\n- [x] add unique id support using symbol\n- [x] show info when you pick up a piece\n- [x] add \"Concede\" button to give up\n\n### to-do for special rules -\u003e v2.0\n- [x] after a player moves a piece, if both players have 3 pieces in a line, the game ties\n\n### to-do for better ux\n- [x] stats bar should always be centered\n- [x] be responsive to different screen sizes\n- [x] no re-login without logout, add back button\n- [x] add to homescreen, add icon and improve pieces\n- [ ] add logo, put effects and user instruction\n\n### to-do for system\n- [x] add github link\n- [ ] add automatic pairing\n- [ ] game data logger\n- [ ] websocket moniter\n\n### interesting bug\n- [x] when two players are playing, and then one player unpluges the internet, the other player will receive no msg and will result in a zombie channel (websocket) which means if one enters the channel, it is always full or one will be playing with a zombie player. fixed zombie behaviour with a delay by [this](http://stackoverflow.com/questions/33934029/how-to-detect-if-a-user-left-a-phoenix-channel-due-to-a-network-disconnect) or to try presense in elm-phoenix new [merges](https://github.com/saschatimme/elm-phoenix/pull/18)\n\n### fix me\n- [ ] safari add-to-homescreen back button leading to pages with search bar\n- [ ] remove embedded alerts\n\n### remark\n* this repo is highly encouraged by this [repo](https://github.com/ventsislaf/talks).\n* I fixed two bugs and updated for elixir v1.4 using Registry: [repo](https://github.com/cjen07/from_tictactoe_to_gobblet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjen07%2Fgobblet-gobblers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcjen07%2Fgobblet-gobblers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjen07%2Fgobblet-gobblers/lists"}