https://github.com/ikp4success/shopasource
Easiest way to find best lowest price products online.
https://github.com/ikp4success/shopasource
async celery collection css data data-mining flask flask-sqlalchemy html javascript json postgresql python python3 quart scrapy spider spiders webscraper webscraping
Last synced: 5 months ago
JSON representation
Easiest way to find best lowest price products online.
- Host: GitHub
- URL: https://github.com/ikp4success/shopasource
- Owner: ikp4success
- License: apache-2.0
- Created: 2018-10-21T03:11:22.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-05-01T20:35:57.000Z (almost 3 years ago)
- Last Synced: 2025-06-28T17:10:26.730Z (8 months ago)
- Topics: async, celery, collection, css, data, data-mining, flask, flask-sqlalchemy, html, javascript, json, postgresql, python, python3, quart, scrapy, spider, spiders, webscraper, webscraping
- Language: Python
- Homepage: http://www.shopasource.com/
- Size: 3.54 MB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Support: support.py
Awesome Lists containing this project
README
# SHOP A SOURCE
[](https://github.com/psf/black)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/timothycrosley/isort)
[](https://github.com/PyCQA/bandit)
**Website**
* https://shopasource.herokuapp.com/
* http://www.shopasource.com/
**API**
https://github.com/ikp4success/shopasource/blob/master/api.md
**About**
Shop A Source provide easy access to search multiple shopping websites via one source. Website users can manage products and decide what product is best. Shop A Source could also be used to compare prices of a product.
**Screenshots**



Hybrid of: https://github.com/ikp4success/bestlows-java
#### Python Version: 3.8+
### Setup
```bash
$ make .venv
$ make clean # cleans virtual environment folder
```
Setup virtual environment
### Pre-commit
[pre-commit](https://pre-commit.com/) installed automatically via .venv, used for linting best practices.
```bash
$ make pre-commit
```
#### Settings
* Update values in configs/dev for dev environment and deploy's.
* A template dev.json.template is provided to setup a dev.json config files.
* Use debug.json for debugging and testing.
* dev.json is git-ignored to protect sensitive keys.
##### run flask project
```bash
$ make run STAGE=debug or make run # debug is default
$ make run STAGE=dev # dev runs
```
##### setup docker db for debug runs
Assumes docker is installed on machine.
```bash
$ make run_db
$ make clean_db
$ make stop_db
$ make load_db # psql interactive db shell
```
##### run flask project in docker
```bash
$ make run_docker # debug is default
# make sure db is running or ..
$ make run_db && make run_docker
```
##### run individual spider
```bash
$ make run_spider SPIDER=AMAZON SEARCH_KEYWORD=shirts
```
##### deploys
project currently runs on Heroku, you can setup your own app-instance and deploy. for more information go to https://devcenter.heroku.com/articles/git. You could also use another service to host the project.
##### other
```bash
$ make generate_key
```
**Author**
* [***Immanuel George***](https://stackoverflow.com/cv/imgeorgeresume)