wethegreenpeople / partyplaylists Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
It would be nice to have this because it allows for easy casting to TV's that support that function.
Samsung seems like a good place to start -> https://developer.samsung.com/smarttv/develop
Create room page should have a form that contains the following:
Room name,
Owner name
On submit the page should have some indication that a room was successfully created
I was testing live search in an old room and it did not prompt for Spotify authorization but adding songs and starting the playlists failed due to a bad authentication token. Possible fixes.
The WebApi is going to be deprecated in favor of data access coming directly from the datastores, migrate the controller's action logic to the songdatastore class
I will probably come back to do this but if someone else wants a stab that's cool. What still needs to be done
I thought it was already part of the build pipeline, but it looks like it's unable to find the test project?
I'm not 100% sure what the issue is here, but we should investigate and ensure that our test's are actually being run as part of the build.
This should be done in the build pipeline only, if the build fails, we shouldn't run the deploy piple and deploy to server.
https://developers.soundcloud.com/docs/api/sdks
Add sound cloud integration
Add service to verify the authenticity of a token when provided to API requests, such as room creation and song voting
We're only queuing one song right now, at some point we need to handle adding the second song. Maybe on some sort of song complete event?
Since we're doing a move to MVC, might as well go ahead and start implementing some sort of logging.
We can investigate rolling our own, or just using a library, I'm okay with either. The library might be slight overkill, but it'd be interesting to see how a framework handles it.
Users table should contain:
Id (int)
Username (varchar)
Services enabled (int)
Jquery has a vulnerability on the current version (3.4.1) and needs to be upgraded to 3.5 but 3.5 unfortunately has issues with bootstrap, and breaks our layout.
We'll upgrade to 3.5 when either bootstrap or jquery releases a patch.
Incrementing join codes is not good (1...2....3... etc), we need to implement some other form of join code. I like 4 character style (ala jackbox), but we could also use room name, or something else.
DELETE requests for rooms
Room ID should be a query string
Do some research about the Cosmos DB and see if it would be appropriate to migrate to at some point in the future.
Considerations:
Secrets are currently stored in a settings file which simply gets ignored from commits. This is one bad commit away from us having to re-issue ourselves a bunch of new keys and passwords.
We can investigate different ways to handle these secrets, but I'm thinking the best way is to start using "User Secrets", this way we can have our own individual secrets for development, and inject them in devops for deployment.
Join room page should have a form that takes a room ID, and have some sort of indication that a room was retrieved successfully
The WebApi is going to be deprecated in favor of data access coming directly from the datastores, migrate the controller's action logic to the tokenservice class
Add unit tests for service/store actions
Should see song search results as you're searching for a song in the room
Need to implement smarter tables. We can populate the table with json data, or at the very least sort the table by the song rating column.
I like BootStrap tables but data tables or anyother alternative will work just as well.
https://developer.apple.com/documentation/musickitjs
For now, just focus on getting it working in the PartyPlaylists.MVC
Always need more comprehensive tests
The room ID and song ID should both be passed via query string
This will have to be done at some point...
The spotify api has the ability to add descriptions to a playlist, lets go ahead and add a direct link back to the room that created the playlist.
Add some sort of live search functionality to the add song component, so that finding songs is easier.
Blazor is providing a few issues with concurrent users, and the javascript interop is proving to be a little bit of a hassle when dealing with the spotify SDK.
I also feel we're not utilizing blazor to it's full extent, as we're using server-side and not WebAsm.
For the time being, I plan to have the website switch to a classic MVC project, and we can re-explore Blazor at a later date.
When a new song is added, or a vote is added to a song, the update is only reflected on your local device until the page is refreshed.
Look into signalr connects, or simple javascript polling
When you add a new song to a room, it doesn't get the onclick event attached for upvotes. Room then requires an update before it can be updated.
When the user is listening to the playlist, reordering songs can be ineffective.
For example:
User starts listening to a 4 song playlist
The user is 2 songs into the 4 song playlist
The third song is voted to the first position
The third song is never heard, the fourth song is played
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.