{"id":13497476,"url":"https://github.com/orizens/echoes-player","last_synced_at":"2025-05-16T09:05:28.814Z","repository":{"id":50662167,"uuid":"88480811","full_name":"orizens/echoes-player","owner":"orizens","description":"Echoes Player: the missing Media Player experience for Youtube - Built with Angular (9), ngrx (9), Angular CLI, Boostrap (SASS), Youtube api","archived":false,"fork":false,"pushed_at":"2024-06-04T21:27:58.000Z","size":26058,"stargazers_count":853,"open_issues_count":8,"forks_count":343,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-04-09T04:03:25.808Z","etag":null,"topics":["angular","angular-cli","angular-example","angular-example-app","bootstrap","ngrx","ngrx-example","redux","sass","typescript"],"latest_commit_sha":null,"homepage":"https://echoesplayer.netlify.app","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/orizens.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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-04-17T06:55:56.000Z","updated_at":"2025-03-05T20:40:37.000Z","dependencies_parsed_at":"2022-09-02T06:20:16.615Z","dependency_job_id":"dce14843-8ce3-4037-bf69-0f89af930369","html_url":"https://github.com/orizens/echoes-player","commit_stats":{"total_commits":490,"total_committers":3,"mean_commits":"163.33333333333334","dds":0.05306122448979589,"last_synced_commit":"020d1519698d2630a59ac0252a636541a00c3a32"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orizens%2Fechoes-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orizens%2Fechoes-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orizens%2Fechoes-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orizens%2Fechoes-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orizens","download_url":"https://codeload.github.com/orizens/echoes-player/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501557,"owners_count":22081528,"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":["angular","angular-cli","angular-example","angular-example-app","bootstrap","ngrx","ngrx-example","redux","sass","typescript"],"created_at":"2024-07-31T20:00:31.546Z","updated_at":"2025-05-16T09:05:23.805Z","avatar_url":"https://github.com/orizens.png","language":"TypeScript","readme":"[![Build Status](https://travis-ci.org/orizens/echoes-player.svg?branch=master)](https://travis-ci.org/orizens/echoes-player) [![Netlify Status](https://api.netlify.com/api/v1/badges/616838a7-249c-4ec3-b070-9ee35146a7e2/deploy-status)](https://app.netlify.com/sites/echoesplayer/deploys) [![Code Climate](https://codeclimate.com/github/orizens/echoes-player/badges/gpa.svg)](https://codeclimate.com/github/orizens/echoes-player)\n\n## [Join Echoes Slack Channel](https://join.slack.com/t/echoesplayer/shared_invite/enQtMzcwMDI4OTI3MjAzLTljZDI3YTA2OGY2ZWY1NTg2M2RmN2UyZGIxOTI4Y2IwMGI4Mzg5MWFlZTZhYTQzZWI5NDVjMGE3ZTQ5OTJjNDA)\n\n# Echoes Player - Angular Version (2nd Generation)\n\nEchoes is a great youtube player developed by [Oren Farhi](http://orizens.com).\nIt's fun \u0026 easy to listen or watch videos from youtube with Echoes.\nWhat if youtube was designed to be used as music player?\nThis repository is an implementation of Echoes Player with Angular (2nd genration)- It's still a work in progress aimed at learning and experimenting Angular (2nd generation).\n\nEchoes Player is also available as a [Chrome Application](https://chrome.google.com/webstore/detail/echoes-player/aaenpaopfebcmdaegggjbkhaedlbbkde)\n\nIt can be regarded as the Media Player experience for youtube listening pleasure.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://echoesplayer.com\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/878660/53698116-72b76d80-3da6-11e9-82be-f185c1951cf9.png\" alt=\"Webpack, Angular, ngrx, bootstrap\" width=\"75%\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Angular Consulting Services at Orizens\n\nI'm a Senior Javascript Engineer \u0026 A Front End Consultant.\nMy services include:\n\n- consulting to companies and startups on how to approach code in their projects and keep it maintainable.\n- I provide project bootstrapping and development - while afterwards, I integrate it on site and guide the team on it.\n\n[Contact Me Here](http://orizens.com/contact)\n\n  \u003ca href=\"http://orizens.com\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://cloud.githubusercontent.com/assets/878660/23353771/d0adbd12-fcd6-11e6-96be-7a236f8819d9.png\" alt=\"Webpack and Angular\" width=\"20%\"/\u003e\n  \u003c/a\u003e\n\n# Tech Stack\n\n## Included @ngrx solutions:\n\n- [ngrx/store](https://github.com/ngrx/platform/blob/master/docs/store/README.md) - State Management a la \"[Redux](https://github.com/reactjs/redux)\" based on RxJs\n- [ngrx/effects](https://github.com/ngrx/platform/blob/master/docs/effects/README.md) - Side Effects layer for ngrx/store\n- ~[ngrx/router-store](https://github.com/ngrx/platform/blob/master/docs/router-store/README.md) - Bindings to connect the Angular Router to @ngrx/store~\n- [ngrx-store-localstorage](https://github.com/btroncone/ngrx-store-localstorage) - local sotrage support for ngrx/store\n- [ngrx/store-devtools](https://github.com/ngrx/platform/blob/master/docs/store-devtools/README.md) - a connector to [redux devtool](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en-US) for chrome\n\n## Included Technologies \u0026 Libraries\n\n- [Angular](http://angular.io)\n- [Angular CLI](https://cli.angular.io/)\n- [@ngrx Platform](https://github.com/ngrx/platform)\n- Bootstrap v3.x (SASS, selected modules)\n- Typescript (latest)\n- ECMAscript latest\n\n# EchoesPlayer\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli)\n\n## Development server\n\nRun `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.\n\n## Code scaffolding\n\nRun `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/class/module`.\n\n## Build\n\nRun `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.\n\n### Build for Production\n\nRun `npm run build:prod` to build the project minified for production with AOT.\n\n## Configure api keys\n\nEchoes use environment variables to integrate Google Analytics, youtube data api key and youtube client id for authorization.\nThese defiend as template variables, and are replaced after a successfull build with build-env.js.\n\n### Youtube Keys\n\nGenerate your own keys via [google's console](https://console.cloud.google.com/apis/credentials)\nRequired Keys are:  \n`API Key`  \n`OAuth client ID`\n\n### Analytics Key (Optional)\n\nThe key is the project ID usually can be retreived from the analytics Admin interface. it exist as part of the \"script\" to paste in your html file.\n\n## Running unit tests\n\nRun `npm test` to execute the unit tests via [Karma](https://karma-runner.github.io).  \nRun `npm run test:ci` to execute the unit tests only **Once**\n\n## Running end-to-end tests\n\nRun `npm run e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).\nBefore running the tests make sure you are serving the app via `ng serve`.\n\n## Further help\n\nTo get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).\n\n# Bundle analyze explorer\n\n[look at issue](https://github.com/angular/angular-cli/issues/4172)\n\n1.  make sure `npm i source-map-explorer -g`\n1.  `ng build --prod --aot --sm` (the sourcemap is for later steps)\n1.  `cd dist \u0026\u0026 source-map-explorer A-FILE-WITH-HASH.js`\n","funding_links":[],"categories":["Uncategorized","TypeScript"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forizens%2Fechoes-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forizens%2Fechoes-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forizens%2Fechoes-player/lists"}