{"id":18653359,"url":"https://github.com/fullstackacademy/oddsandevens","last_synced_at":"2025-06-11T23:32:27.246Z","repository":{"id":259290788,"uuid":"875065545","full_name":"FullstackAcademy/OddsAndEvens","owner":"FullstackAcademy","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-23T18:07:31.000Z","size":97,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-12-27T14:09:31.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/FullstackAcademy.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":"2024-10-19T02:42:24.000Z","updated_at":"2024-10-23T18:07:54.000Z","dependencies_parsed_at":"2024-10-24T05:30:15.985Z","dependency_job_id":"de137423-a35e-423d-9ef1-5a86dcd04149","html_url":"https://github.com/FullstackAcademy/OddsAndEvens","commit_stats":null,"previous_names":["fullstackacademy/oddsandevens"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FullstackAcademy%2FOddsAndEvens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FullstackAcademy%2FOddsAndEvens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FullstackAcademy%2FOddsAndEvens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FullstackAcademy%2FOddsAndEvens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FullstackAcademy","download_url":"https://codeload.github.com/FullstackAcademy/OddsAndEvens/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239466815,"owners_count":19643596,"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":[],"created_at":"2024-11-07T07:11:19.921Z","updated_at":"2025-02-18T11:43:50.899Z","avatar_url":"https://github.com/FullstackAcademy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workshop - Odds and Events\n\nIn this workshop, you'll continue to get more practice working with events and event handlers. The goal is to create an app that allows a user to enter a number which gets placed into a number bank. The user can then sort the numbers in the bank into one of two categories: odd or even.\n\n![Preview of the app: a user types 9 into the input field and clicks a button to add it to a number bank. The user then clicks the \"Sort 1\" button. The 9 is moved from the number bank into the \"odd\" category.](odds_and_events-example_flow.png)\n\n## Instructions\n\nRemember to work on a local cloned copy of your forked repo, and to add your cohort team so that your code can be reviewed!\n\n1. Read and serve `index.html` to familiarize yourself with the elements you'll be working with.\n1. Write `index.js` so that your app meets the requirements below.\n\n## Requirements\n\n- When the user clicks the \"Add Number\" button, the number they entered into the input field should be added to the number bank.\n- The number bank is _not_ changed if the user enters a non-numeric value.\n- The number bank should display all the numbers the user has entered.\n- When the \"Sort 1\" button is clicked, the first number in the number bank should be removed and placed into either the odd or even category.\n- When the \"Sort All\" button is clicked, all the numbers in the number bank should be moved into either the odd or even category.\n- The numbers are placed into the correct bucket based on whether they are odd or even.\n\n## Hints\n\n- Don't worry about updating the DOM at first! Can you get it working so that the _state_ is correctly updated when the user interacts with the app?\n- Once you have the state updating correctly, then you can focus on updating the DOM to reflect the state.\n- Remember to break each problem into smaller subproblems - and ask for help if you're not sure how to do that!\n\n## Extensions\n\nIf you're done early, try to implement one or more of the following features:\n\n- Add a button that generates a random number into the number bank\n- Refactor the user input field so they can also enter a string of comma-separated numbers\n- Add a way for users to choose how many numbers they want to sort in addition to just one or all\n- Sort the numbers not just by odd vs even, but also in ascending order\n- Add a dropdown that allows users to toggle whether the numbers are sorted in ascending or descending order\n\n## Submission\n\nPlease submit a link to your Github repo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffullstackacademy%2Foddsandevens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffullstackacademy%2Foddsandevens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffullstackacademy%2Foddsandevens/lists"}