Giter Club home page Giter Club logo

ambix_back_end's Introduction

Ambix Back End

What is Ambix?

Ambix is a web app for mixing ambient soundscapes on top of Spotify playback.

This back-end server handles the OAuth 2.0 authentication flow required to integrate the Spotify Web Playback SDK into the front-end of Ambix. This allows users to sign in to Spotify and use the Ambix app as a playback device that they can select from their Spotify client (desktop or mobile app).

Architecture

External APIs

Frameworks, Libraries, and Packages

  • cors: A package for enabling cross origin resource sharing
  • dotenv: A module for populating environment variables
  • express: A framework for creating web applications
  • superagent: A library for making HTTP requests

ambix_back_end's People

Contributors

skylerburger avatar

Watchers

 avatar  avatar

ambix_back_end's Issues

Wireframes

  • Create mobile-view wireframe
  • Create desktop-view wireframe

Spotify Connect

The Spotify Web Player SDK allows my site to act as a playback device that can be selected from another Spotify client. The MVP goal is that a user opens their Spotify desktop or web client, selects my site as their playback device, and then begins playback of a playlist. The site will have minimal controls for play/pause and previous/next tracks. I'll also try to get what track information I can get to have a little info regarding the current track streaming from Spotify. The tricky issue is going to be getting a token and thinking about how to get a user to either log in or supply an API token when starting up the site.

  • Figure out the handshake to obtain the required token for Web SDK playback
  • Figure out safe storage of token for front-end only MVP
  • Figure out what song details are available from the Web Player SDK state and how to obtain more details if required

YouTube Player

The YouTube Player is how we'll being ambient sound into the page. I need to figure out if there is a way to create your own controls for the embedded player of if the video can only be controlled through the iframe. If the video can only be controlled through the iframe I will need to find a slick way to hide/reveal the video when the client needs to change the volume or toggle playback. If I can create my own controls for the iframe I'd like to have only the controls visible on the page and potentially the ability for the client to swap between three or so different pre-selected ambient tracks for MVP

  • Research controlling playback through the iframe
  • Add controls or a hide/reveal mechanism

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.