93 lines
1.5 KiB
Markdown
93 lines
1.5 KiB
Markdown
#Weatherify
|
||
|
||
Weatherify is an Flask-SQLAlchemy-applikation that creates Spotify playlists based on the weather of a location the users input.
|
||
|
||
#Functions
|
||
|
||
-Register and login system
|
||
-Creates playlists based on weatherdata
|
||
-Updates playlists with new tracks
|
||
-Deletes playlists
|
||
|
||
#Technices
|
||
-Python
|
||
-Flask
|
||
-SQLAlchemy
|
||
-Flask-Login
|
||
-HTML / Jinja2
|
||
-CSS
|
||
-JavaScript
|
||
-Spotify API
|
||
-OpenWeather API
|
||
|
||
#Installion
|
||
|
||
1. Clone project
|
||
´´´bash
|
||
git clone <repository-url>
|
||
cd weatherify
|
||
|
||
2. Create virtuel enviorment
|
||
|
||
´´´bash
|
||
python -m venv venv
|
||
|
||
Activate enviorment
|
||
´´´bash
|
||
.venv\Scripts\activate
|
||
|
||
3. Install requirements
|
||
´´´bash
|
||
pip install -requirements.txt
|
||
´´´
|
||
4. Create one env-file
|
||
|
||
Create an file which is called .env in projects rootmap with personal API-keys:
|
||
|
||
´´´env
|
||
OPENWEATHER_API_KEY=your_openweather_key
|
||
|
||
client_id=your_spotify_client_id
|
||
client_secret=your_spotify_client_secret
|
||
redirect_uri=http://127.0.0.1:5000/callback
|
||
|
||
SECRET_KEY=your_secret_key
|
||
´´´
|
||
5. Start application
|
||
´´´bash
|
||
flask run
|
||
´´´
|
||
or
|
||
|
||
´´´bash
|
||
python app.py
|
||
´´´
|
||
6. Open in browser
|
||
|
||
´´´
|
||
http://127.0.0.1:5000
|
||
´´´
|
||
|
||
#Database
|
||
|
||
Project uses SQLAlchemy.
|
||
|
||
if database does not exist:
|
||
|
||
´´´bash
|
||
flask shell
|
||
´´´
|
||
|
||
```python
|
||
from extensions import db
|
||
db.create_all()
|
||
```
|
||
|
||
#Security
|
||
|
||
-Password are hashed
|
||
-Protects from SQL-Injections because of SQLAchemy
|
||
-CRSF-protection on forms
|
||
-Authentication because of Flask-login
|
||
|