{"_id":"@ashawnbandy/dw-guess","_rev":"1-fc067100bafa54de23307b5572198aba","name":"@ashawnbandy/dw-guess","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@ashawnbandy/dw-guess","version":"0.0.1","description":"Word game demonstration","main":"src/index.js","scripts":{"build":"rollup -c","watch":"rollup -c -w","www":"browser-sync start --server static --files static"},"repository":{"type":"git","url":"git@git.sr.ht:~ashawnbandy/dw-wordgame"},"keywords":["demo","firebase"],"author":{"name":"A. Shawn Bandy"},"license":"ISC","devDependencies":{"@material/textfield":"^3.1.0","firebase":"^6.4.0","lit-element":"^2.2.1","rollup":"^1.19.4","rollup-plugin-commonjs":"^10.0.2","rollup-plugin-json":"^4.0.0","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-globals":"^1.4.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.1.1","uuid":"^3.3.3"},"dependencies":{},"gitHead":"57f67d3e4a117a79f85d1a6a2ad1118cd9e81752","_id":"@ashawnbandy/dw-guess@0.0.1","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-j4q7lKxj+CTmkFha/VcYadXaSaFUGVS8g5fQ7+3hQjwOv7BycgHvnKSJQPpO2dcU7P9wiVRzK+tuYQjy3qF1BA==","shasum":"bbd8f1f865598c716be03fdab04ba0c1afa07ce6","tarball":"https://registry.npmjs.org/@ashawnbandy/dw-guess/-/dw-guess-0.0.1.tgz","fileCount":12,"unpackedSize":18514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXS7oCRA9TVsSAnZWagAAwIMP/R/csyIVM4NELWp10GGk\nFi7EnXSMY1EmL+d4fvfEk0hGG0VrtOJ4pkcQg4oiLpHq2xvZ8wfDDv3zO8TY\nHqMuEWmHHLwFcKWIJ3OYMndLb8KdlNnBxh5AtUih9w9YnePFE5Mkr3kjEo9L\nn6KZKAti6uRDJVFAVRA0l1gMnhwYiXapAVGo6xknqn0leTJ7tTWKnb+EuzOy\nHVF7hiKcSN8D44x6EvRGv6Mq+i+GIik9HWV8qqxIlRKJCp3RqVO7ArpNrwo4\naPUzX0g4SM8ZDULwF0lXyZAaH/J6KZ3JLxM/IVx2TARdD3vo6F+QsuFf2hjA\niEO10uUMYKyIulon7tyDhyz6f7UCKzkKK6PzAE9Q4IgOuLaoSJ0P07OT6Grf\nw7cMsaD46AMb4p2g1qJrOu1o4DhXo7P/zkVylMMo4gbu8z+vdaNEEYODjUZB\nd+ItQTxj0LUZdah8Aw+yTCC8MQtrow+kbdqgKumv8LTGWCH0/LNf99W/97/Z\nLCJcif7qJ/RqZIrNRZLRmqV26Pl/jfn4qE/61RphqMvBRHc1cgCn07WiDUjb\nvoe7BtTRpX8HzJgRUE6T9EjN6viKQdAeR/5+SKs+y+Gzzy3Xmv1CBT/Xw7ZY\nShkiIfGWfjTzT0jS67V8fw098xV0MJILmsxSJcP0CDzop7EGnX/mMA4TPMG0\nIZcQ\r\n=pOGh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwXenq+XrLJtnvxPZkYgMB0ZY4YpUHWBzdvz2vCyVI/QIhAOKAoWB1reHcGOa8wQp2ifU4q1cBL1mtzReuQ/2/4/di"}]},"maintainers":[{"name":"ashawnbandy","email":"shawn.bandy+npm@thechain.net"}],"_npmUser":{"name":"ashawnbandy","email":"shawn.bandy+npm@thechain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dw-guess_0.0.1_1566387943950_0.6782909130226968"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-21T11:45:43.743Z","0.0.1":"2019-08-21T11:45:44.156Z","modified":"2022-04-04T15:45:21.285Z"},"maintainers":[{"name":"ashawnbandy","email":"shawn.bandy+npm@thechain.net"}],"description":"Word game demonstration","keywords":["demo","firebase"],"repository":{"type":"git","url":"git@git.sr.ht:~ashawnbandy/dw-wordgame"},"author":{"name":"A. Shawn Bandy"},"license":"ISC","readme":"# No Points!!!\n\n## Discussion\n\nI made the following changes and choices:\n\n* There are no points to be had from making a valid selection.\n\n* There is no button to start a game, instead any player may get things going\nby clicking on the text input.  Really, the area is larger but not \nexplicitly identified. \n\n* There is a random waiting period between starting the game and when the \ntext input is enabled.  The input itself doesn't indicate any change,\nonly the progress bar serving as a countdown timer to show that the \ngame is in motion.  \n\n* I chose to have only one game session available (i.e. the sharable link) \nbut left room in the schema to expand if desired in the future.\n\n* In place of a point system, players may choose to \"battle\" one another by\nstealing previously entered words. \n\n* Users are identified only by the first five digits of a uuid.\n\n* The overall theme is a throwback to 8-bit games: made intentionally slow\nand slightly frustrating.  \n\n### Rationale\n\nI simply wanted to explore the problem in my own way and the implementation \nand layout evolved as I went along.\n\n## Architecture\n\n### Dev dependencies\n\n* `lit-element` provides web component infrastructure.  Most modern browsers\nsupport web components but this application will only be tested on Chrome 76\ngiven the scope.\n\n* `rollup` will, well, rollup source files with dependencies into a single\ndeliverable in esm format.  Again, it may not work in older browsers but\nwe're keeping things up-to-date, right?\n\n* `npm` brings in the wealth of node packages for use but it is for front-end\nonly.  The entire deliverable will be one more html, css and javascript files\nto be served by anything that supports those files without modification.  We\nalso use `npm` to run our scripts during development.\n\n* `docker` is an optional dependency. \n\n### Directory structure\n\n* `src` javascript source files, typically `lit-element` elements.src\n\n* `static` bundled source files, html and css files for serving\n\n## Requirements\nUsing Google Firebase—no server-side code, just HTML + CSS +\nJavaScript—create a multi-player game where players race to enter\nwords using only random letters you provide them. Order of the\nletters doesn't matter, but each letter can be used at most once\nper word.\n\n1. Players should be able to start a new game and be given an\ninvitation link to share with other players. The links can be\nsimply copy-and-pasted to other players outside the application.\n\n2. The game creator should be able to press a play button whenever\nthey are ready, and all players should be able to compete in\nreal-time. It's fine to assume players will not reload the page\nonce they go to it.\n\n3. Once a word is entered, it cannot be entered again by anyone\nincluding other players (i.e. only the first person to enter it\ngets credit).\n\n4. The game ends after one minute.\n\n5. Each game has nine randomly generated letters, with a minimum of\ntwo vowels and two consonants each time.\n\n6. Scoring of your choice.\n\n7. You can choose your own additional rules.\n\n8. A dictionary reference is not necessary for this exercise.\n\n9. Security of any kind is not necessary, but we may ask you\nafterward about security holes and how you would handle them in\nthe real world.","readmeFilename":"README.md"}