Skip to content

Interactive voice-controlled music dashboard for making listening to your favorite music easy, fun, and social

Notifications You must be signed in to change notification settings

TheAudiophiles/lola

Repository files navigation

lola

This application is still in active development.

Interactive voice-controlled music dashboard for making listening to your favorite music easy, fun, and social. Thesis project for Hack Reactor.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Node and webpack are required to use this application.

To install node/npm with homebrew on Mac OS X:

brew update && brew install node

Install webpack

npm install -g webpack

Installing

Once you have node and npm, install application dependencies. Make sure you are in the application directory and run:

npm install

The config files in server/config with example in the name need to each be copied to a file in the same directory with the same name without the example. Eg. spotify.example.conf.js to spotify.conf.js

After copying all these files you will need to get API keys to place in them. You will need to create an account and get keys from MusixMatch, Spotify, and Youtube. The session secret key can be any string.

Run It

To run:

Run webpack in terminal with:

./bundle.sh

In another tab/window run:

npm start

Troubleshooting

Right now, there are a couple bugs that are being worked on. If you run into an issue, or if you add something to initialState in a reducer, try clearing the state from localstorage:

Open console in browser and run:

window.localStorage.removeItem('redux')

Test

At the moment there are only tests written for the action creators, sagas, and reducers.

npm test

Built With

  • Redux - Redux is a predictable state container for JavaScript apps
  • React - Front end UI Framework
  • Redux-Saga - A side effect model for redux apps using ES6 generators and sagas
  • Express - NodeJS Web Framework
  • ArtyomJS - Speech Recognition library for creating Siri like apps
  • MongoDB - Document Database
  • Mongoose - MongoDB ODM
  • Jest - Javascript testing library from facebook
  • React Media Player Media controls components for React
  • React Burger Menu Burger menu with cool animations for React
  • Axios - Promise based http client

Authors

License

This project is licensed under the MIT License

Acknowledgments

  • Hat tip to anyone who's code was used

About

Interactive voice-controlled music dashboard for making listening to your favorite music easy, fun, and social

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages