Loose Threads is an app to promote and prompt users to update their knitting project pages. The user's projects are collected from the popular knitting site, Ravelry. The user is alerted upon returning to the site about how many projects have not been updated in a given number of days. They can then get details on their projects and update the project. Their updates are saved in both loose threads and on the corresponding Ravelry page. Users also can subscribe to text alerts reminding them weekly about how many projects need to be updated.
Frontend: HTML, Javascript, jQuery, Chart.js, Bootstrap, CSS
Backend: Python, Flask, PostgreSQL, SQLAlchemy, Pillow, schedule,
APIs: Ravelry, Twilio
Log in to see your current projects.
Sort projects by status and see how many projects need to be updated
View the details of a project and update the project page
Subscribe to reminders for your projects
####Requirements:
- PostgreSQL
- Python 2.7
- Ravelry and Twilio API keys
To have this app running on your local computer, please follow the below steps:
Clone repository:
$ git clone https://github.com/zoearon/ravelry_project_update.git
Create a virtual environment:
$ virtualenv env
Activate the virtual environment:
$ source env/bin/activate
Install requirements🔗:
$ pip install -r requirements.txt
Get your own secret keys for Ravelry and Twilio. Save them to a file secrets.sh
. Your file should look something like this:
export APP_KEY = 'xyz'
export RAVELRY_SECRET_KEY = 'abc'
export RAVELRY_PERSONAL_KEY = 'abc'
export TWILIO_SID = 'abc'
export TWILIO_TOKEN = 'abc'
Create database 'projects'.
$ createdb projects
Create your database tables and seed🌱 example data.
$ python model.py
$ python seed.py
Run the app from the command line.
$ python server.py
If you want to use SQLAlchemy to query the database, run in interactive mode
$ python -i model.py
- Refactor with REACT
- Add OAuth for more users
- Add more ways to remind users
- more encryption on the user data