Description | Features | Technologies | How to edit it? | How it works?
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.
- 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.
This project uses the following technologies and tools:
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
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