GithubHelp home page GithubHelp logo

openwhyd / openwhyd Goto Github PK

View Code? Open in Web Editor NEW
393.0 12.0 78.0 46.55 MB

πŸ’Ž Like Pinterest, but for Music 🎧

Home Page: https://openwhyd.org/

License: MIT License

Shell 1.38% JavaScript 64.59% HTML 20.91% CSS 9.04% Makefile 0.44% Gnuplot 0.06% Dockerfile 0.07% Python 0.06% TypeScript 3.45%
music curation music-player streaming youtube soundcloud deezer bandcamp dailymotion vimeo

openwhyd's Introduction

Codacy Badge OpenCollective Contributors frequently asked questions Music lover club on Facebook

Openwhyd

πŸ’Ž Like Pinterest, but for Music. Discover, collect and play music from Youtube, Soundcloud, Bandcamp, Deezer and other streaming platforms.

Openwhyd is a music curation service freely available at openwhyd.org. It was designed for music lovers who enjoy taking their time to find the best tracks and videos for their collection, including:

  • music videos, bootlegs and specific live performances,
  • fresh tracks from new and/or local artists,
  • DJ sets and rare remixes,
  • or any song that can be found and streamed online, and may not be found on Spotify, Apple Music or other music services.

Openwhyd Demo Video

Initially known as "Whyd", the development of this product started in 2012. It became open-source in 2016. Read the full story from Whyd to Openwhyd.

Features

  • Playlists: made of tracks from various sources: Youtube, Soundcloud, Bandcamp, Deezer...
  • Button: Add a track from any web page, in a few clicks, using our Google Chrome extension and bookmarklet
  • Radio: Subscribe to music curators based on your musical taste, and listen to their latest discoveries
  • Fame: Get a following by creating awesome playlists, and being featured in the "Hot Tracks" ranking
  • Search: Add descriptions to your track, to make them easier to find when you need them
  • Integration: Embed your playlists on your blog or website, so your visitors can listen to it directly.

πŸ‘‹ A question, a problem? Check out our FAQ and/or chat with our community of music lovers.

Development

Tech stack

Setup and usage

You just need Docker and git installed on your computer:

$ git clone https://github.com/openwhyd/openwhyd.git
$ cd openwhyd
$ docker compose up --build --detach
$ open localhost:8080
$ docker compose down --rmi local --remove-orphans # to stop the server and database + clean-up

More info about Setup and Usage: INSTALL.md.

πŸ€— The project is open to contributions. Check out our FAQ for more info.

Contributors

These are the wonderful people whose time and sweat have made Openwhyd's heart beat since 2012! πŸ’“ (emoji key):


Gilles Poupardin

πŸ“’ πŸ€” πŸ’΅

Jie Meng-GΓ©rard

πŸ’» πŸš‡ πŸ’΅

Adrien Joly

πŸ’» πŸ“– ⚠️ πŸ’¬

loickm

🎨 πŸ’»

Tony Hymes

πŸ“’ πŸ“ πŸ“‹ πŸ’¬

Damien Romito

πŸ’» πŸ”Œ

Camille Betinyani

🎨

Claire Marion

🎨 πŸ“ πŸ€”

Julien Tanay

πŸš‡ πŸ”§ πŸ’»

Adrien Candiotti

πŸš‡ πŸ’» πŸ€”

Constance Betinyani

πŸ“ πŸ”

Alberto Fantappie

πŸ” πŸ“‹

Mathilde Vercelletto

πŸ“– πŸ’΅

Henri Lieutaud

πŸ€”

François Burra

πŸ€”

Grey Vugrin

πŸ’» πŸ› πŸ”§

Marin le Maignan

πŸ’» πŸ› πŸ€”

Nicolas Leger

πŸš‡ πŸ’»

Serdar Sever

πŸ’» πŸ›

Stanislas ChΓ’ble

πŸ’» πŸ›

Pia Mancini

πŸ”

Maurice Svay

πŸ’» πŸ› 🎨

JΓ©naΓ―c CambrΓ©

πŸ’¬

Felix Aknin

πŸ’¬

Patrick Rainier Juen

πŸ’» πŸš‡ βœ…

Brandon Okeke

πŸ’»

namanbiyani

πŸ’»

compiuta

πŸ› πŸ’»

Salayna Doukoure

πŸ’»

wen-chan

πŸ’»

Agathe Vaisse

πŸ’»

Valère

πŸ’»

Jeff Hsr

πŸ–‹

Dheeru Pennepalli

πŸ’»

has12zen

πŸ’»

Jordan NOURRY

πŸ’» πŸ§‘β€πŸ« πŸ“’

Julien Topçu

πŸ’» πŸ§‘β€πŸ« πŸ“’

This project follows the all-contributors specification. Contributions of any kind are welcome!

To update that list, please propose a PR after running npx all-contributors-cli add or contact us.

Backers

Support us with a monthly donation and help us keep Openwhyd alive. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Whyd is the company that founded this service and donated the source code DigitalOcean has kindly offered us one year worth of hosting, to help us maintain our open-source development effort Algolia has been kindly providing our users with blazing-fast track search for years

openwhyd's People

Contributors

adrienjoly avatar agathe-vaisse avatar alightsleeper avatar brawrdon avatar compiuta avatar dependabot[bot] avatar has12zen avatar ineoo avatar mauricesvay avatar namanbiyani avatar nicolasleger avatar piamancini avatar salayna avatar selbahc avatar semantic-release-bot avatar skinymonkey avatar ulan08 avatar wen-chan avatar znk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openwhyd's Issues

UI: Update wording and logos on web and email notifications

Progress on issue:

  • Wording: rename instances of "Why" and "OpenWhyd" to "Openwhyd"
  • Email sender: rename from "OpenWhyd" to "Openwhyd" (in environment vars)
  • Brand: replace old "whyd" logo by new "Openwhyd" logo on web UI
  • Brand: replace old "whyd" logo by new "Openwhyd" logo on email templates

Old issue description:

Cette tache consiste Γ  identifier et mettre Γ  jour les notifications de l'app web d'Openwhyd oΓΉ l'ancien nom ("whyd") et/ou logo n'ont pas encore Γ©tΓ© remplacΓ©s par ceux d'Openwhyd.

Mise en oeuvre proposΓ©e:

  1. Aller sur le site Openwhyd
  2. Se dΓ©connecter de son compte (si dΓ©jΓ  loggΓ©)
  3. CrΓ©er un compte
  4. Suivre le processus d'onboarding
  5. Aller dans les parametres pour activer toutes les notifications par email
  6. Faire en sorte de recevoir chacune de ces notifications, ex: en likant/followant depuis un autre compte
  7. Γ€ la rΓ©cΓ©ption de chaque notification, cliquer sur les liens du mail pour vΓ©rifier aussi les mentions Γ©ventuelles Γ  whyd dans les pages correspondantes
  8. VΓ©rifier aussi les notifications affichΓ©es dans le bandeau du haut du site

Fix playback of Deezer tracks

openwhyd.org is an open-source music platform used daily by thousands of users to create playlists of songs from the web (Youtube, Soundcloud, etc...), and discover musical gems from similar users.

Tech stack: Node.js, MongoDB, Docker, Mocka, Webdriver.io, jQuery, Electron + iOS app


Problem

Deezer tracks do not play from openwhyd.org anymore.

Example: click on the play icon from https://openwhyd.org/c/53034e7f200c8a632700022a => the music should start within 2 seconds, but it does not...

Here's what is displayed in the JavaScript console:

image

=> Hypothesis: Deezer's SDK / API may have changed.


Howto

In order to solve this issue, please create a Pull Request after reading about playemjs' debug/fixing process: https://github.com/openwhyd/openwhyd/blob/master/docs/playemjs-fix-procedure.md.

First, you may want to read about:

  • How to install, setup and run Openwhyd on your computer: INSTALL.md
  • How to propose a valuable contribution to this repo: CONTRIBUTING.md

I will be happy to assist you at any stage, if you want to try to solve this issue! If you have any question, just leave a comment below. Beginners are also welcome! πŸ€—


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

where can I get WHYD_ADMIN_OBJECTID ?

HI!
Where can I get WHYD_GENUINE_SIGNUP_SECRET、WHYD_SESSION_SECRET and WHYD_ADMIN_OBJECTID ?

How to set Environment variables?

Is there a site description setting environment here?

Looking forward to your reply. Best wishes

Platform: allow authentication from other domains, for 3rd party clients/apps (e.g. OAuth)

openwhyd.org is an open-source music platform used daily by thousands of users to create playlists of songs from the web (Youtube, Soundcloud, etc...), and discover musical gems from similar users.

Tech stack: Node.js, MongoDB, Docker, Mocka, Webdriver.io, jQuery, Electron + iOS app


Problem + context

Openwhyd users are begging for an Android app and background playback of their playlists from openwhyd.org. Both are front-end issues: the Android app could either be a native project or a responsive web app. And the thing is that our current web app (available at openwhyd.org) is not a fun one to maintain, because of the use of ancient technologies (e.g. jQuery), technical debt and the fact that its codebase is mixed with Openwhyd's back-end...

Several developers proposed to create a separate front-end for Openwhyd, for scratch, in order to tackle these issues. For instance, @SkinyMonkey made a React front-end from scratch: https://github.com/SkinyMonkey/sound-nuggets. But he stopped maintaining it because Openwhyd's lack of OAuth-based API (#55) forced him to run a small back-end/bridge online, which was costly.

If somebody could provide a way for front-end clients to auth & connect to Openwhyd's API without requiring to host and run such a back-end bridge, it would be much easier for the community to create and maintain Openwhyd clients on several platforms!

Objective

Allow 3rd-party apps to use openwhyd's API, with user authentication.

roadblock: only cookie-based authentication is provided by openwhyd.org's server, at that point.

leads:

anybody wants to help?


Howto

In order to solve this issue, you are invited to fork this GitHub repository, makes changes to it, and then create a Pull Request so we can merge your changes back to this repository.

First, you may want to read about:

  • How to install, setup and run Openwhyd on your computer: INSTALL.md
  • How to propose a valuable contribution to this repo: CONTRIBUTING.md

I will be happy to assist you at any stage, if you want to try to solve this issue! If you have any question, just leave a comment below. Beginners are also welcome! πŸ€—


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

FEATURE: Improve design of playlist embed + enable deeper integration on external websites

Several music curators love using Openwhyd, but want to distributing their selection thru their own website, while maintaining a good level of user experience and design consistency.

Openwhyd's playlist embed:

  • has not been touched for about 3 years,
  • is still branded "whyd" instead of "Openwhyd",
  • is very hard to fit esthetically on most websites.

screen shot 2017-07-03 at 12 59 48

Discussions are ongoing with Charles from musicdmc.com ("donne m'en cinq"), for the redesign on this playlist embed.

Note: I had started to work on a more generic player that could be embedded dynamically using JavaScript, rather than an iframe (i.e. the way it's done currently).

BUG: broken "add track" dialog

image

impossible to open the "playlists" dropdown.

console errors:

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
/js/playem-min.js?25:2 warning: soundManager was not found => playem-soundcloud will not be able to stream music
/js/playem-min.js?25:2 Uncaught TypeError: k.callHandler is not a function

reported by Andrew Davis

Request: Android app (looking for volunteers)

EDIT (11 July 2020):

Openwhyd users are still hoping for a mobile app! 🌠 (see this discussion on our community)

πŸ‡¬πŸ‡§ If you are a developer who wants to make hundreds of users happy while playing with React-Native (or other)? Please say "Hi" as a comment, below! Beginners are welcome πŸ€— and will be guided through the process.

πŸ‡«πŸ‡· Tu es dΓ©veloppeuse/dΓ©veloppeur et aimerais rendre des centaines d'utilisatrices/utilisateurs heureux, tout en jouant avec React-Native (ou autre) ? Laisse un petit mot ci dessous ! DΓ©butantβ€’eβ€’s bienvenuβ€’eβ€’s πŸ€—, vous serez aidΓ©β€’eβ€’s.


EDIT (15 March 2019):

"An Android app" is what has been most requested by Openwhyd users, for years! πŸ”₯

Indeed, while Openwhyd has an iPhone app, openwhyd.org is not adapted to smarphone screens and is not capable of playing music from the browser...

Here is a non exhaustive list of features that could be implemented in an Android app:

  • login to your openwhyd.org account, to find your tracks and playlists
  • be able to play your tracks and playlists, like on the website
  • be able to look for another openwhyd user or playlist, and play its tracks
  • add a track from YouTube and SoundCloud, directly from their app
  • allow playlists to keep playing in the background, even if the screen is off

EDIT (22 Apr 2018):

Many Openwhyd users would be very happy to have an Android app that would allow them to 1/ login to their openwhyd account, 2/ play their tracks, and 3/ add tracks to their playlists. So, on the behalf of our community of music lovers, thank you for considering to integrate (or develop) your Android app with Openwhyd's back-end! πŸ™Œ

Here are a few recommendations on how to get started:

  1. If you're creating your music app from scratch, I advise you to start by trying to play Youtube videos from your app first.
  2. My second recommendation is to not try to implement every Openwhyd feature at once => developer it little by little, and start with prototyping most valuable/critical features first.
  3. Example of good first feature to implement: play a list of Youtube videos sequentially from any Openwhyd playlist using its JSON API (public data --> no login needed), e.g. https://openwhyd.org/adrien/playlist/61?format=json
  4. When your app is able to play Youtube tracks from an Openwhyd playlist, you can either add support to other streaming sources (e.g. YouTube, SoundCloud, vimeo, Bandcamp, mp3 streams), or build a UI for users to provide their Openwhyd user id + pick the playlist they would like to play. => Having an Android that just does that would already provide a lot of value to most of our users!
  5. You want to make sure that your app will keep playing the music even when the user turns off the screen, or switched to another app. You may need to implement some clever tricks, and find some inspiration from our iOS app's codebase. (e.g. openwhyd-ios/WDYoutubeDecoder.m)
  6. After that, you may want to allow users to add new tracks to their Openwhyd playlists. In order to do that, you will have to use the /login endpoint of our API (documented there) and to pass the resulting HTTP cookie to all future API calls that required a logged-in user.

You can find help and documentation in several places:

I'll do my best to assist you during its development, especially for the use of our API, so don't hesitate to send your questions!


EDIT (10 Nov 2017): Proposed implementation: Android application with react native


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Upgrade calls to insert() and update(), to match with Mongodb driver ~~v2~~ v4's API

background: migration to mongodb driver v2 caused a bug: clicking on notification link after adding a track leads to /u/undefined (now fixed), because the inserted/updated data object is now stored as the first element of a ops array property, instead of being returned directly by insert() & update() calls. (see upgrade guide and my comment on mongodb driver's upgrade guide), and #61 (comment)).

=> other features relying on data returned by calls to insert() and update() are also affected by this breaking API change => we need to fix them.

Documentation of new version of the API: insert and update. (both deprecated β†’ to be replaced by calls to insertOne(), insertMany(), updateOne() and updateMany(), keeping in mind that updateOne() may not return the updated data )

next steps:

add automated API tests that should pass with mongodb driver v1 but not on v2 for the following calls to insert(), then fix these calls to make tests pass with mongodb driver v2:

  • savePost function in app/models/post.js (=> issue, fix)
  • rePost function in app/models/post.js (=> api test, fix, acceptance test)
  • insertNotif function in app/models/notifs.js
  • add endpoint in app/models/activity.js
  • save function in app/models/plContest.js
  • addFeaturedendpoint in app/controllers/discover.js

add automated API tests that should pass with mongodb driver v1 but not on v2 for the following calls to update(), then fix these calls to make tests pass with mongodb driver v2:

  • several calls in app/models/post.js
  • several calls in app/models/user.js
  • cvrImg endpoint in app/controllers/api/user.js
  • add function in app/models/follow.js
  • several calls in app/models/track.js
  • cacheFbFriends function in app/models/facebook.js
  • several calls in app/models/notif.js

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

BUG: clicking on notification link after adding a track leads to /u/undefined

=> failing acceptance test:

"adding a track -- should show the post on the user's profile after clicking the link"

hypothesis:

  • could be caused by a failure in the models/track.js file that mutates the post object (supposed to contain the uId property)
  • could be caused by failure in the models/algoliaSearch.js file that mutates the post object (supposed to contain the uId property)

Bookmarklet/extension does not work from Jamendo.com anymore

reported publicly on FB by Alain Froid:

Hello, I have the OpenWhyd Track + installed in Firefox, the first time I use it on Jamendo, it works for me.
It came out some kind of error and do not look at Firefox
Eh used the CCleaner, Cleaned Cache and Cookies, Cleaned Logs, Restart the browser and computer.
It's even tried from another browser like Google Chrome and there is no way to make it work again on Jamendo.com.
What I can do?


Hola tengo instalado en Firefox el OpenWhyd Track + en marcadores, la primera vez que lo use en Jamendo me funciono.
Salio algun tipo de error y no lo mire de Firefox
Eh usado el CCleaner, Limpiado Cache y Cookies, Limpiado Registros, Reiniciar el navegador y el ordenador.
Eh probado incluso desde otro navegador como Google Chrome y no hay manera de volver a hacerlo funcionar en Jamendo.com.
ΒΏQue puedo hacer?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

BUG: geographically-restricted Youtube video can not be posted

Stefanos M.:

Track that cannot be added to Openwhyd: https://youtu.be/JBGlXXHWVw8

It seems we have a geoblocking situation in France.
I am in the USA now in Hawaii, and this is what i get on Youtube using the link.
There is also no problem posting the video on a Greek site.
Some intellectual property rights problem in France. Perhaps somewhat similar to the problems faced in Germany until recently...

All I know is that as a private user I can use a VPN in order to view content blocked in the country I am in. In this way Youtube or Netflix thinks I am in the States when I am in Belgium so I can have access to the much richer USA content.
If the IP address of Openwhyd did not appear as french to Youtube, and appeared as anerican or greek for example we would not face problems.
Maybe the staff of ExpressVPN could give an answer. They are very helpful. This is their address : https://www.expressvpn.com/
Another VPN service is this : https://www.hidemyass.com/how-vpn-works


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

BUG: "iconv.node: invalid ELF header" error when running tests on Docker container

When running:

$ docker-compose up
$ docker-compose exec web npm test

I'm getting failing tests:

  1) "get" package should provide the title of a web page:
     Error: /usr/src/app/node_modules/iconv/build/Release/iconv.node: invalid ELF header
  2) "get" package should provide the title of a web page encoded with an iso-2022-jp charset:
     Error: /usr/src/app/node_modules/iconv/build/Release/iconv.node: invalid ELF header

DEV : Start up blocks without error when connecting to MongoDB version >3.2.7

Triggered via npm run run the line mongodb.MongoClient.connect(url, options, function(err, db){ does not call the callback function.

Failing tested latest node and MongoDB versions v3.2.11 / v3.4.6 and [email protected] for module. Also tried with the ?w=1 parameter https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html.

Might come from the npm mongodb module (or dependencies) or MongoDB version, or node ?

β”œβ”€β”¬ [email protected]
β”‚ β”œβ”€β”¬ [email protected]
β”‚ β”‚ └── [email protected]

See comments of #57 (comment)

BUG: User cannot login to existing account using Facebook

From https://www.facebook.com/openwhyd/messages/?section=messages&subsection=inbox&threadid=531012345&timestamp=1484154821658 :

Innan GlyvurView Profile
Actions
10:59AM

Innan Glyvur
Innan
Hi Whyd Team! I have a problem with the website, I can't connect with my Facebook account..."Unable to connect to Facebook. Did you block it?" How can I fix it? B/Rgds,
12:34PM

Openwhyd
Hi Innan!
Sorry about that...
Did you already have an Openwhyd account? And was it already associated with your Facebook account, or not?
Also, can you provide the URL (or email) of your profile, please?
Adrien
Sent by Adrien Joly
2:33PM

Innan Glyvur
Innan
Thx for your answer. Yes, I have an account : https://openwhyd.org/u/512487a77e91c862b2ab0169 (tomafou hotmail com) but I don't know if it's associated with my FB account... sorry
Innan Glyvur's tracks
The place for music lovers. Collect and share the tracks you love.
openwhyd.org
Seen by Innan Glyvur at 2:33pm
6:12PM

Openwhyd
Thank you, innan! We will investigate!
In the mean time, I invite you to login using your email and password.
If you forgot your password, you can click on the "?" icon to pick a new one.

BUG: Dailymotion plays pre-roll ad, skips, but keeps playlist the ad, cf openwhyd.org/test

bug scenario:

  • go to https://openwhyd.org/test, refresh the page
  • play the "dailymotion" track => a pre-roll ad starts playing, then the player skips to next track, while the ad keeps playing

expected behavior:

  • at least: make sure that the ad is stopped is the track is skipped (manually or automatically)
  • at best: let the ad play, then the song. playemjs should not skip the track because of pre-roll ad.

leads / ideas for fixing:

  • make sure that playem-dailymotion's stop() function also stops playback of the pre-roll ad
  • make sure that playem-dailymotion emits a onBuffering (or onPlaying) event when playing the pre-roll ad, so that the track is not skipped

TIP: follow this procedure to help you fix: https://github.com/openwhyd/openwhyd/blob/master/docs/playemjs-fix-procedure.md


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

DEV: Create a (docker) container to simplify local execution of openwhyd

Objective: simplify execution of openwhyd's app and database servers, on any host, while avoiding conflicts and version mismatchs

=> instead of asking volunteers/contributors to install all the dependencies, enable them to make it run on their machine by typing just one command.

Anybody had experience with setting up a docker container properly for a nodejs + mongodb app?

Add a Deezer connect button in the setting page

So far, for example, there's no simple way to link openwhyd and deezer together.. (In fact you have to wait for the green banner to appear, and then you have to actually notice the link inside of it.)

  • I suggest adding it to the account settings section alongside last_fm?
  • Or maybe also create a dedicated page for users to set credentials for third parties sources requiring identification, with the basic CRUD features.

think of a more robust way to inject playemjs into whydjs

today, playemjs is developed on its own repo, built into /dist/playemjs-all.js and /dist/playemjs-min.js files (using make compile), then copied into the /public/js directory of whydJS

this process is tedious, and thus, error-prone, when fixing bugs tied to track streaming.

I'm open to suggestions :-)

BUG: Vimeo tracks timeout, progress does not work

bug scenario:

  • go to https://openwhyd.org/test, refresh the page
  • play the "vimeo" track => the progress bar does not updates, then it skips after 10 seconds

expected behavior:

  • after starting playback, the progress bar should be updated, and the track should not be skipped

leads / ideas for fixing:

  • have a look at playem-vimeo.js and check why the progress is not emitted to playem. the sdk/api may have changed.
  • also check your js console, to see if there are any errors related to vimeo's player embed.

TIP: follow this procedure to help you fix: https://github.com/openwhyd/openwhyd/blob/master/docs/playemjs-fix-procedure.md

WORDING: redirect feedback emails from gilles to contact email

Email content:

Hi! How's it going? My name is Gilles and I work at Whyd. I saw that you've been adding some very cool stuff, and I wanted to say hello! We have built Whyd into what it is today thanks to the continuous feedback of our community of music lovers. So I wanted to ask you if you have any thoughts, impressions, ideas, or complaints about Whyd, new features you'd like to see on the service, or if you are in the music space and have any specific ideas or goals for using Whyd. If you have any, please send them to me! Feel free to respond in any language you want!

License

Great work on opensourcing the app..Can you add a license type. Is it MIT ?

Errors during start script (npm run run)

Getting the following output when booting up the app:

[email protected] run /Users/greyvugrin/Desktop/code/openwhyd/whydJS
> node app.js --color --fakeEmail --digestInterval -1 $@

{ Error: Cannot find module '../build/Release/bson'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/bson/ext/index.js:15:10)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3) code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
Starting web server with params: { dev: 'true',
  port: '8080',
  urlPrefix: 'http://localhost:8080',
  mongoDbHost: 'localhost',
  mongoDbPort: '27017',
  mongoDbAuthUser: '',
  mongoDbAuthPassword: '',
  mongoDbDatabase: 'openwhyd_data',
  genuineSignupSecret: '',
  searchModule: 'searchAlgolia',
  advertisePlaylistContestOnHome: false,
  emailModule: '',
  digestInterval: '-1',
  digestImmediate: false,
  feedbackEmail: '[email protected]',
  version: 25,
  startTime: 2017-01-01T00:06:01.588Z,
  nbPostsPerNewsfeedPage: 20,
  nbTracksPerPlaylistEmbed: 100,
  paths:
   { whydPath: '../whydJS',
     uploadDirName: 'upload_data',
     uAvatarImgDirName: 'uAvatarImg',
     uCoverImgDirName: 'uCoverImg',
     uPlaylistDirName: 'uPlaylistImg' },
  color: true }
Connecting to mongodb://localhost:27017/openwhyd_data...
===
Sun, 01 Jan 2017 00:06:01 GMT Error
    at Console.error (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/app.js:16:45)
    at process.on (internal/process/warning.js:24:17)
    at emitOne (events.js:96:13)
    at process.emit (events.js:188:7)
    at process.nextTick (internal/process/warning.js:47:38)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
(node:47208) DeprecationWarning: 'GLOBAL' is deprecated, use 'global'
Successfully connected to mongodb://localhost:27017/openwhyd_data
 - found table: visit : 0 rows
 - found table: post : 0 rows
 - found table: track : 0 rows
 - found table: comment : 0 rows
 - found table: config : 0 rows
 - found table: follow : 0 rows
 - found table: plContest : 0 rows
 - found table: email : 0 rows
 - found table: invite : 0 rows
 - found table: notif : 0 rows
 - found table: featured : 0 rows
 - found table: collabPl : 0 rows
 - found table: activity : 0 rows
 - found table: user : 0 rows
 - found table: playlog : 0 rows
 - found table: fbfriends : 0 rows
Caching users ...
loading EMAIL module: emailFake.js...
FAKE EMAIL ENABLED, duration:  2000  milliseconds
[APNS] parameters: { cert: '/Users/greyvugrin/Desktop/code/openwhyd/whydJS/app/models/../../config/apns/aps_dev.cert.pem',
  key: '/Users/greyvugrin/Desktop/code/openwhyd/whydJS/app/models/../../config/apns/aps_dev.key.pem',
  passphrase: '',
  gateway: 'gateway.sandbox.push.apple.com',
  port: 2195,
  production: false }
[APNS] Connecting...
loading SEARCH module: searchAlgolia...
models.search: using Algolia Search index
Parsing reserved usernames from config/app.route ...
Parsing reserved usernames from config/reservedwords.txt ...
MongoDB model is now ready for queries!
Caching users: done!
- Local -
[mainTemplate] today is week # 313
/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/connection/base.js:246
        throw message;
        ^

ReferenceError: fs is not defined
    at module.exports (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/my/session/index.js:10:34)
    at start (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/app.js:133:49)
    at /Users/greyvugrin/Desktop/code/openwhyd/whydJS/app/models/mongodb.js:83:17
    at /Users/greyvugrin/Desktop/code/openwhyd/whydJS/app/models/user.js:201:4
    at /Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/cursor.js:180:16
    at commandHandler (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/cursor.js:734:16)
    at /Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/db.js:1905:9
    at Server.Base._callHandler (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/connection/base.
js:453:41)
    at /Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/connection/server.js:488:18
    at MongoReply.parseBody (/Users/greyvugrin/Desktop/code/openwhyd/whydJS/node_modules/mongodb/lib/mongodb/responses/mongo_repl
y.js:68:5)

npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "run"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] run: `node app.js --color --fakeEmail --digestInterval -1 $@`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] run script 'node app.js --color --fakeEmail --digestInterval -1 $@'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the openwhyd package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node app.js --color --fakeEmail --digestInterval -1 $@
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs openwhyd
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls openwhyd
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/greyvugrin/Desktop/code/openwhyd/whydJS/npm-debug.log

I have my DB set up, make and g++ are installed. I am missing some env vars for algolia and sendgrid but doubt that those are causing this. Thanks in advance!

Add support for twitter cards

Ideally, sharing on Twitter would show the same nice cards that sharing to Facebook does.

It seems that it could be as easy as adding <meta name="twitter:card" content="summary" /> to the head, since all open graph tags seem to be in place. If so I can submit a PR soon

DEV: Update to v2.3 of Facebook Graph API, before July 10th

(https://mail.google.com/mail/#all/15c9f61fc9c27fc8)

v2.3 Upgrade Reminder

Your App, whyd, is currently accessing Graph API v2.3 which will reach the end of its 2-year lifetime on 10 July, 2017. We estimate 6 endpoints that whyd calls will be impacted by this change and may stop working after the automatic upgrade push. To ensure a smooth transition, please migrate all calls to Graph API v2.4 or higher. Use the API Upgrade Tool to understand exactly how this change will impact your app.

Note: If you do not see any impacted calls in the API Upgrade Tool, your app/code may not be affected by this upgrade.

Visit our changelog to see the full list of changes in all Graph API versions.

You can view this and other Developer Notifications related to your app, in the App Dashboard.

Visit App Dashboard

Feature: 'Back' option when navigating in app on Mac

Hi all,

Not sure if this is an issue or a feature request. I tried the app for mac yesterday for the first time - love it! I'm running Sierra 10.12.5
When I browse the site through the app, I can not "go back".
For example, if I do the following:

  • Go to a profile
  • Browse playlists availables
  • Open a playlists and browse it
    I can not go back directly to browsing the available playlists. I need to go back to the profile, then open the playlists again.

It is a small enhancement, but it would make for a smoother navigation through the app, and it would be easier to explore the others' playlists.

Feature: Set others' playlists as favorites, to find them faster

" liker les playist d'autres USER pour nous les mettres en favoris " (https://www.facebook.com/groups/openwhyd/permalink/1847774682170749/?comment_id=1847775462170671&reply_comment_id=1847785635502987&comment_tracking=%7B%22tn%22%3A%22R%22%7D)

" Moi, je rΓͺve du jour ou ca sera possible de liker les playlists d'autres users pour les garder sous le coude et pas perdre les sΓ©lΓ©ctas des talentueux utilisateurs d'Openwhyd ! " (https://www.facebook.com/groups/openwhyd/permalink/1847774682170749/)

Add acceptance (end-to-end) and API tests

...so that volunteers can contribute more confidently to the codebase without breaking anything.

  • add acceptance tests for login, logout, sign in, onboarding process, and adding a track
  • add tests for API calls that rely on broken calls to insert() and update() (see #62)
  • transform old testing code (e.g. files like testNotifs.js, and unit tests kept as comments) into proper tests
  • add API tests for the remaining documented API endpoints
  • make acceptances tests run in the Docker container (e.g. using headless-chrome instead of chrome thru webdriver.io, as explained here)
  • make travis run tests using the Docker container too (for consistency with local testing)

How to add Hot Tracks on my local server

Hi @ adrienjoly !
I have successfully deployed openwhyd server , but Hot Tracks is empty.
How to add Hot Tracks on my local server? It took me a lot of time.

Looking forward to your reply. Best wishes

BUG: full-length deezer tracks repeat in the background while next track is playing

before fixing deezer's playemjs component, all local playemjs changed must be pulled back into playemjs' original repo, tested, and re-integrated nicely into openwhyd.

details are on trello: https://trello.com/c/FpWIQmhw/50-dev-prevent-full-length-deezer-tracks-from-repeating-in-the-background-while-next-track-is-playing-fix-in-playem

tasks:

  • understand how playemjs was integrated into whydjs
  • re-merge latest whydplayer changes back into playemjs repo (if necessary)
  • reproduce deezer bug into an automated test
  • fix bug
  • re-inject fixed playemjs into whydjs
  • think of a more robust way to inject playemjs into whydjs

Remove the "hide video" button

Youtube contacted us to ask us to remove the possibility to hide the video while playing their content.

Basically, the only thing that we need to do is to hide the corresponding icon from the footer / player bar:

screenshot 2016-09-25 18 05 49

Anyone down for making this quick easy change?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.