{"id":32966554,"url":"https://github.com/rkalis/ionic-soundboard","last_synced_at":"2025-11-16T09:00:46.299Z","repository":{"id":97111459,"uuid":"65981611","full_name":"rkalis/ionic-soundboard","owner":"rkalis","description":"🎧 Ionic 3 Soundboard app with sounds from a custom URL","archived":true,"fork":false,"pushed_at":"2018-09-23T18:53:56.000Z","size":2204,"stargazers_count":14,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T06:17:57.649Z","etag":null,"topics":["angular","angular4","app","ionic","ionic2","ionic3","soundboard","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/rkalis.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-08-18T08:56:09.000Z","updated_at":"2024-01-04T17:44:45.000Z","dependencies_parsed_at":"2024-01-17T02:16:14.856Z","dependency_job_id":"32801890-20de-4aba-b342-0a68bc97a5c3","html_url":"https://github.com/rkalis/ionic-soundboard","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/rkalis/ionic-soundboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkalis%2Fionic-soundboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkalis%2Fionic-soundboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkalis%2Fionic-soundboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkalis%2Fionic-soundboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rkalis","download_url":"https://codeload.github.com/rkalis/ionic-soundboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkalis%2Fionic-soundboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284684461,"owners_count":27046675,"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","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["angular","angular4","app","ionic","ionic2","ionic3","soundboard","typescript"],"created_at":"2025-11-13T03:00:23.616Z","updated_at":"2025-11-16T09:00:46.259Z","avatar_url":"https://github.com/rkalis.png","language":"TypeScript","readme":"# Ionic 3 Soundboard\n\nThis app takes a collection of sounds from a custom URL. That way sounds can be added and removed at will, while still keeping the app code the same. The app makes use of [Ionic 3](https://ionicframework.com/) with [TypeScript](https://www.typescriptlang.org/).\n\nNote: Some of the Ionic Native features (such as caching) add quite a bit of complexity to the code. For a more simple version of the app without these native features you can check out [the 'simple' branch](https://github.com/rkalis/ionic-soundboard/tree/simple).\n\n## Prerequisities\nAssumes that Homebrew is installed.\nFor alternative installation options for Node, refer to their [website](https://nodejs.org/)\n```\nbrew install node\nnpm install -g cordova\nnpm install -g ionic\n```\n\n## Setup\nAssumes that Git is installed along with the prerequisites.\n```\ngit clone git@github.com:rkalis/ionic-soundboard.git\ncd ionic-soundboard\nnpm install\n```\nThen run it locally with any of the following\n```\nionic serve --lab\nionic cordova run ios\nionic cordova run android\n```\nThe first one running it in the browser, while the others run on a device or emulator. Note that Ionic Native features (such as caching) are disabled in the browser.\n\n## Features\nThe app is a simple soundboard, with a list of sounds, which can be played, and stopped when they are playing. In the soundboard, you have the option to mark certain sounds as favourites, moving them to the top of the list. This way, you can have all your favourite sounds right there at your fingertips. When running on a native platform (iOS, Android, etc.), every sound is cached for seven days when playing it. That way the sounds can still be accessed when there is no internet connection. Local caching can be enabled or disabled, and the cache can be cleared in the preferences menu.\n\n\u003cimg src=\"https://i.imgur.com/bMLQCSe.png\" width=\"500\"\u003e\n\n## Customising\n### Title \u0026 Default Preferences\nOpen `ionic-soundboard/src/pages/soundboard/soundboard.ts` to edit the `title` variable.\n\nOpen `ionic-soundboard/src/services/preferences.service.ts` to edit the default preferences:\n```javascript\nget DEFAULT_PREFERENCES() {\n  return {\n    baseUrl: 'http://kalis.me',\n    soundsFile: '/sounds.json',\n    cachingEnabled: true\n  };\n}\n```\nEdit the default values to point to your own base url and your own sounds file.\n\n### Icon \u0026 Splash Screen\nReplace `ionic-soundboard/resources/icon.png` and `ionic-soundboard/resources/splash.png` with your own files.\nThen run:\n```\nionic cordova resources ios\nionic cordova resources android\n```\n\n## Usage\n\nThere should be a file at  the path specified by `preferenceService.get('baseUrl')` + `preferenceService.get('soundsFile')` containing a json array with objects in the following format:\n```javascript\n{\n    \"title\": \"Sample Title\",\n    \"file\": \"/sample_sound.mp3\"\n}\n```\n\nFor example http://misc.kalis.me/sounds.json looks like this:\n```javascript\n[\n    {\n        \"title\": \"Bird\",\n        \"file\": \"/res/bird.mp3\"\n    },\n    {\n        \"title\": \"Cat\",\n        \"file\": \"/res/cat.mp3\"\n    },\n    {\n        \"title\": \"Cow\",\n        \"file\": \"/res/cow.mp3\"\n    },\n    {\n        \"title\": \"Dog\",\n        \"file\": \"/res/dog.mp3\"\n    },\n    {\n        \"title\": \"Dolphin\",\n        \"file\": \"/res/dolphin.mp3\"\n    },\n    {\n        \"title\": \"Frog\",\n        \"file\": \"/res/frog.mp3\"\n    },\n    {\n        \"title\": \"Pig\",\n        \"file\": \"/res/pig.mp3\"\n    }\n]\n\n```\nResulting in this soundboard:\n![Soundboard](https://i.imgur.com/utd8KZU.png)\n\n## Testing/Building/Publishing\nPlease refer to the [ContactApp Wiki](https://github.com/incodehq/contactapp/wiki)\nfor a comprehensive guide to testing, building, and publishing Ionic apps. Do note that the ContactApp was written in an older version of Ionic.\n","funding_links":[],"categories":["Open Source Projects","Complete projects"],"sub_categories":["Frames","Open source apps"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkalis%2Fionic-soundboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frkalis%2Fionic-soundboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkalis%2Fionic-soundboard/lists"}