This application recommends concerts to users based on their LastFM user information.
The main purpose of this application is to allow users to find concerts featuring artists that are catered to their likes based off of their LastFM profile. The user is able to search for concerts by city, state, zip code, and longitude and latitude. A list of the concerts and their locations and a map with the locations of the concerts plotted on a grid are shown to the user.
This application was built with Angular CLI and uses the Google Geocoding API and Google Maps API, the LastFM API, and the SongKick API. When the user searches for concerts, the application uses the LastFM API to get the user's top tracks. It uses the SongKick API to generate a list of concerts featuring bands that are similar to the artists of those top tracks. It uses the Google Geocoding API to process the locations inputted by the user. It usese the Google Maps API to plot the results on a map.
- Node.js and npm installed.
- A Firebase account.
- An API key for Google Geocoding API and Google Maps API, LastFM API, and SongKick API (instructions below).
- Clone the repository
- Use the CLI of your choice to navigate into the project directory and run the following commands:
- To install packages
$ npm install $ bower install
- To run the application
$ np serve
- To quit running the application press
CTRL C
- Open the project in the text editor of your choice to make changes. You will be able to see changes update in the browser immediately upon saving while the application is running.
- Create a new file: src/app/api-keys.ts.
- Set up a new database in Firebase and add the the information to api-keys.ts in the following format (replace
xxxxxxx
with your specific information):
export var masterFirebaseConfig = {
apiKey: "xxxxxxx",
authDomain: "xxxxxxx.firebaseapp.com",
databaseURL: "https://xxxxxxx.firebaseio.com",
storageBucket: "xxxxxxxq.appspot.com",
messagingSenderId: "xxxxxxx"
};
- Request an API key from Google Maps APIs.
- Add the API key to api-keys.ts in the following format (replace
{KEY}
):
export var geoCodeKey = "{KEY}";
export var googleMapAPIKey = "{KEY}";
- Request an API key from LastFM API.
- Add the API key to api-keys.ts in the following format (replace
{KEY}
):
export var lastFMAPIKey = "{KEY}";
- Request an API key from SongKick's API.
- Add the API key to api-keys.ts in the following format (replace
{KEY}
):
export var songKickKey = "{KEY}";
If you notice any bugs or problems you can fill out an issue here or feel free to submit a pull request.
Lina Shadrach: GitHub username: LinaShadrach
Eric Raetz: ayutoa@runbox.com
Alex Francois: apfrancois86@gmail.com
Kevin Finley: kf.two.two@gmail.com
Lina Shadrach, Eric Raetz, Alex Francois, Kevin Finley
If you wish to contribute create an issue and describe your idea then fork it and submit a pull request!
Anglur CLI 1.0.0-beta.26
TypeScript 2.0.3
HTML5
CSS3
SASS
MIT License
Copyright (c) 2017 Lina Shadrach, Kevin Finley, Eric Raetz, Alex Francois