/dropspy

This is a bot for spying sales on shopify stores, using alihunter chrome extension and saving the results in a MongoDB database for latter consultation.

Primary LanguageTypeScript

Dropspy

Repository size GitHub last commit Repository issues

Description    |    Features    |    Technologies   |    How to edit it?   |    How it works?

ℹ️ Description

This is a bot for spying sales on shopify stores, using alihunter chrome extension and saving the results in a MongoDB database for latter consultation.

ℹ️ Features

  • Spying on shopify stores that do not have an alihunter extension blocker.
  • Allows bot maintenance by accessing specific routes.
  • API that show important informations of current instance.
  • Automatic-release at each project commit, from github-actions.
  • Automatically ping the server to avoid heroku auto-idle.

ℹ️ Technologies

This project uses the following technologies and tools:

Scope Technologies
engine
secondary
dev tools

ℹ️ How to edit it

To clone this repository and make changes in the source code, you'll need Git and Nodejs in your computer.

# Clone this repository
$ git clone https://github.com/lucasvtiradentes/dropspy

# Go into the repository folder
$ cd dropspy

# Install dependencies
$ npm install

# Run the code in devlopment mode
$ npm run dev

ℹ️ How it works

Clustering

The application is permeated by a clustering process that allows greater control over the instance through the access of specific routes, the application being divided into:

Cluster Action
MASTER Main cluster responsible for creating the website server.
WORKER Secondary cluster responsible for creating and maintaining the spy bot.

In theory, an instance of DROPSPY can create N bots to spy on Y stores, however the heroku server has a RAM memory limitation, in which the recommended thing is to use only one instance.

Project files structure

The project was structured as it follows:

./dropspy
|-- src        # main sorce code folder
|-- utils      # utils functions folder
|-- scripts    # aux scripts to build and release
|-- configs/   # configs files folder
|   |-- app-configs.json   # main app config file
|-- .env       # environmental variable file setup

The only files that need to be changed by the user are the last 2 in the list above, in order to adapt the application to the specifics of its operation.

App routes

DROPSPY allows interactive control from the access of the following routes:

Route Action
/ Droppy-bot instance server splash screen.
/api API where it shows relevance information about dropspy-bot instance.
/restart Send the command for the bot to restart.
/quit Send the command for the bot to close.

Made with ♥ by Lucas Vieira.

Get it touch: github | linkedin | lucasvtiradentes@gmail.com