{"id":23307310,"url":"https://github.com/simonapiz/beatmix","last_synced_at":"2025-04-07T00:48:52.896Z","repository":{"id":199228723,"uuid":"702393936","full_name":"SimonaPiz/BeatMix","owner":"SimonaPiz","description":"A drum machine web app that allows you to create musical patterns and save them as presets.","archived":false,"fork":false,"pushed_at":"2023-10-09T11:58:27.000Z","size":986,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T06:23:54.581Z","etag":null,"topics":["api","codecademy-solutions","javascript"],"latest_commit_sha":null,"homepage":"","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/SimonaPiz.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":"2023-10-09T08:35:01.000Z","updated_at":"2023-10-09T09:02:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"3df6c2e3-dbb7-4706-823b-e8374e898563","html_url":"https://github.com/SimonaPiz/BeatMix","commit_stats":null,"previous_names":["simonapiz/beatmix"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonaPiz%2FBeatMix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonaPiz%2FBeatMix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonaPiz%2FBeatMix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonaPiz%2FBeatMix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimonaPiz","download_url":"https://codeload.github.com/SimonaPiz/BeatMix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247574095,"owners_count":20960495,"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":["api","codecademy-solutions","javascript"],"created_at":"2024-12-20T12:29:52.850Z","updated_at":"2025-04-07T00:48:51.407Z","avatar_url":"https://github.com/SimonaPiz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/SimonaPiz/BeatMix/assets/91121660/f0672b25-a363-4e92-8e86-96003da4344b\" width=\"120px\" alt=\"Beat Mix\" title=\"Beat Mix\"/\u003e\n\n# Beat Mix\nA drum machine web app that allows you to create musical patterns and save them as presets.\n\n\n\u003cimg src=\"https://github.com/SimonaPiz/BeatMix/blob/main/anteprima01.png\" width=\"800px\" alt=\"preview\" title=\"preview\"/\u003e\n\n## Table of Contents\n* [General Info](#general-information)\n* [Technologies Used](#technologies-used)\n* [Usage](#usage)\n* [Acknowledgements](#acknowledgements)\n\u003c!-- * [License](#license) --\u003e\n\n\n## General Information\n### Project Overview\n\nIn this project, I wrote functions to implement logic for a beat-making music machine. \n\nThe application can loop over a 16-step grid of four drum types and play them when they are activated. \n  - ✔ [issue #2 - function toggleDrum](https://github.com/SimonaPiz/BeatMix/issues/2)\n\nI also wrote the functionality to invert each row of drums, clear each row of drums, or clear the entire board.\n  - ✔ [issue #3 - function clear](https://github.com/SimonaPiz/BeatMix/issues/3)\n  - ✔ [issue #4 - function invert](https://github.com/SimonaPiz/BeatMix/issues/4)\n\nFinally, I build the functionality to retrieve and save presets to a server.\n  - ✔ [issue #5 - function presetHandler](https://github.com/SimonaPiz/BeatMix/issues/5)\n\n▶ You can view a video demonstration of the final app here: [BeatMix](https://s3.amazonaws.com/codecademy-content/programs/build-apis/solution-videos/BeatMix480.mov)\n\n\n### Implementation Bonus\n\nAs a bonus, I implemented a function to play multiple synthesizer tones at once.\n  - ✔ [issue #7 - bonus function](https://github.com/SimonaPiz/BeatMix/issues/7)\n\n\n### Test Results\n  - ✔ [issue #8 - test code](https://github.com/SimonaPiz/BeatMix/issues/8)\n\n![Test Results](https://user-images.githubusercontent.com/91121660/273556800-9c4a7900-ed94-4655-9dcb-da86aa20a2b4.png)\n\n\n## Technologies Used\n  - \"body-parser\": \"^1.17.2\",\n  - \"chai\": \"^4.1.1\",\n  - \"chai-things\": \"^0.2.0\",\n  - \"cors\": \"^2.8.4\",\n  - \"express\": \"^4.15.4\",\n  - \"mocha\": \"^5.1.1\",\n  - \"morgan\": \"^1.8.2\",\n  - \"nodemon\": \"^1.11.0\"\n\n## Usage\nRun `npm install` to install the dependencies of this project.\n```\n  $ npm install\n```\n\nRun `npm run start` to begin your server. You'll see `Server listening on port 4001` in the terminal.\n```\n  $ npm run start\n```\nTo see the application simply open **index.html** in a web browser.\n\n## Acknowledgements\nThis project comes from the Codecademy's [Create a Back-End with JavaScript](https://www.codecademy.com/learn/paths/create-a-back-end-app-with-javascript) course.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonapiz%2Fbeatmix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonapiz%2Fbeatmix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonapiz%2Fbeatmix/lists"}