auxme is a party playlist curation web application
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.
Make sure Node.js (>= 8.11.3), and MongoDB (>= 4.0) are installed on your system.
In order to make full use of auxme as a host, you will need a Spotify Premium account.
Head over to https://developer.spotify.com/dashboard/ to create a new Spotify app.
Once your app has been created, find your app's Client ID and Client Secret as they will be needed to construct the environment file below.
After creating the app, you must specify both a development and production Redirect URI using the Spotify developers dashboard for your app. Copy these as they will be needed to construct the environment file below.
How to get a development env running:
- Create the environment file with the Client ID and Client Secret of your Spotify app
touch .env
-
You will need to specify the address and port of your local Express server instance, typically 'localhost' and '5000'
-
You will need to specify the URI of your development MongoDB instance
-
You will need to specify the environment as "development"
Add the following variables and fill them in appropriately:
export SPOTIFY_CLIENT_ID={YOUR_CLIENT_ID}
export SPOTIFY_CLIENT_SECRET={YOUR_CLIENT_SECRET}
export SPOTIFY_HOST_REDIRECT_URI={YOUR_DEV_REDIRECT_URI}
export PORT={YOUR_PORT_NUMBER}
export MONGODB_URI={YOUR_MONGODB_URI}
export ENVIRONMENT=development
- Activate the environment
source .env
- Verify the environment has been set
env | grep -E 'SPOTIFY|PORT|ADDRESS|MONGODB_URI|ENVIRONMENT'
- Once the above has been completed, start the server
npm start
- To run the server with hot-reload using nodemon, run the following
npm run dev
How to deploy this on a live system:
-
Modify the environment file filling in the necessary variables with their respective production version equivalents
-
To host the app using your own domain, change the address variable and port accordingly
-
Change the MONGOD_URI variable to the URI of your production MongoDB instance (https://mlab.com/ offers remote instances that work well)
-
Change the environment variable to "production"
npm start
- Node.js - Backend JavaScript runtime
- Express.js - Web application framework
- Express Generator - Express application generator
- Socket IO - Real-time bidrectional event-based communication
- MongoDB - MongoDB Node.js Driver
- jQuery - Front end DOM manipulation
- Materialize CSS - Front end styling framework
- Spotify Web API - Spotify Web API