Coder Social home page Coder Social logo

musicapp's Introduction

MusicApp

Made this to learn VueJS and mess around with some NodeJS backend.

Basically, a jukebox app which has two main features:

  • Users can add songs to the queue
  • Users can "join" the audio to have a synchronized listening experience

Front end

  • VueJS (with Vuetify style)
  • I just used the PWA template and built off that. Super easy and fun.

Backend

  • General

    • My app is hosted in a cheapo OVH VPS running Ubuntu Server 14.04
  • Static Web

    • Using nginx to serve the static content
      • I had to forward requests with /api/ in them to my Express API server port... I tried to do something similar with socketio server and it gave me a huge headache so I gave up eventually and just hit the port manually. I had successfully done it (and with SSL) on another unrelated app but I couldn't get this one to play nice. Maybe one day I'll fix it.
    • SSL by LetsEncrypt (yay)
  • Express API

    • Code in /server/express_api
    • play.js is a thing I wrote ages ago to wrap most of the stuff in this amazing Google Play Music package
    • I could probably refactor it to not use my silly play.js but in this moment I'm in too deep
    • index.js is just a basic api to access my stuff in play.js
    • Oh and I'm using serverjs.io (which is so much cleaner to use than straight up express)
  • Socket.io Server

    • By far the ugliest code
    • Keeps track of the queue and song progress

##Todo:

  • Better "radio" currently only artist stations and actual gmusic stations can auto-add
  • Fix upvote/downvote thing... should they change order? Maybe

musicapp's People

Contributors

marcderhammer avatar

Watchers

 avatar

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.