Smapify is a web-based application that allows users to input their current location and the address of their destination to generate a playlist based on the duration of the trip and their current mood, favorite genre and other optional filters alongside with a set of directions for the trip. Through the accounts that users make, they are able to save a favorite playlist along with the route that it is associated with it. With Smapify, users are guaranteed to know how to get to their destination while also jamming to music they enjoy!
- Open a terminal session.
- Create your own environment by typing (name is a placeholder for the name of the virtual environment of your choosing):
$ python3 -m venv name
- Activate the virtual environment by typing
$ . name/bin/activate
in the terminal and make sure it is running python3 by typing(venv)$ python --version
in the terminal. - Clone this repository. To clone this repo, open a terminal session and navigate to the directory you want for this repository to located in. Then clone using SSH by typing
(venv)$ git clone [email protected]:ccai1/mangosteens.git
or clone using HTTPS by typing(venv)$ git clone https://github.com/ccai1/mangosteens.git
in the terminal. - Navigate to the Smapify repository by typing
$ cd mangosteens/
in the terminal. - Make sure you have all the dependencies installed in your virtual environment. If not, look at the Dependencies section below.
- Procure API keys...
- Run the python file by typing
(venv)$ python app.py
in the terminal. - This should appear in the terminal after running the python file.
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 248-748-502
- Open a web browser and navigate to the link http://127.0.0.1:5000/.
- Follow the prompts of our application and enjoy!
-
Flask==1.0.2
Used as the framework for the app.
-
Jinja2==2.10
Template engine for Python.
-
passlib==1.7.1
Hashes password to increase security of app.
- Install the dependencies listed above by typing
(venv)$pip install -r <path-to-file>requirements.txt
in your terminal.
-
Last.fm
Used to retrieve songs that matches the user's inputs. Registration to Last.fm is required to obtain a API key. After obtaining a Last.fm account go here to obtain your API key.
-
MapQuest (Directions API)
Used to retrieve directions, routes, and maps from the user's current location to their destination. To sign up and obtain an API key go here.
-
Public Transit
Used to retrieve routes using public transits. To learn more about this API go here.
For our purposes, mangosteen's keys are stored as keys.json in the data directory.