The main reason behind this project is an idea comparing products prices, but for sure this will be useful for many different needs. Using it you can easily check when your interesting things are discounted or generally when your interesting text will change from one to another.
Project is using lerna
and because of that is splitted into many micro-services:
frontend-admin
- admin panel, places where you can manage your queries and results of themmicro-rest-api
- middleware, node server, using for manipulating the data in databasemicro-scrapper
- node deamon responsible for checking texts on pages
# run development
docker-compose -f .config/docker/docker-compose.yml up --force-recreate --build
# run production
docker-compose -f .config/docker/docker-compose.prod.yml up --force-recreate --build
Tips:
# remove all containers and docker images
docker system prune
# Dockerfile run from different location
CMD [ "npm", "--prefix", "packages/app1-server", "start" ]
# Build docker image for a different platform
# armhf | amd64
docker build . -t my_service --platform=linux/armhf
docker
/docker-compose
mongo-express
lerna
- to keep project splited by functionalityreact
/cra
/antd-design
- to easy develop UInodejs
/express
- to run REST server and scraper deamonpuppeteer
andcherio
- for e2e tests (scraping data from websites)node-cron
- to run scraper periodicallymongodb
- to store queries and scraped results