𝐫𝐮𝐬𝐭𝐥𝐞𝐫 ⫮ 𝐜𝐨𝐫𝐞 is a library that contains the core functionality for `rustler`, a web scraping service that scrapes several stock market providers for stock pricing data. It is built using the Rust programming language.
Why "rustler"
A rustler is a person who steals live**stock**. Well, this library is a service that collects stock market data from the internet. So, it's a "rustler" for stock market data.
Also, this library is built using the Rust programming language... so, **rust**ler 😊
What this library includes
This library defines the core functionality for a rustler. It includes the following:
- A
Rustlertrait that defines the core functionality for arustler. - A
RustlersSvcwhich orchestrates therustlersat runtime, scheduling them to scrape stock pricing data between market hours.
Apart from the above, this library also defines:
- a database schema for storing market hours, which is used by the
RustlersSvcto schedule therustlers. - initial database migrations to create the schema.
- a grpc server to interact with the rustlers database.
a websocket gateway server to stream stock pricing data to subscribed clients
Note
This library defines a rustler as a service that scrapes stock pricing data for a particular market.
Although this library contains the core and abstract functionality for the rustlers, it doesn't include any concrete implementation for them.
Actual concrete implementations for each market cannot be published for many reasons.
Diagram
The following diagram shows the core components of the rustler-core library and how they interact
with each other.
Example
Check the examples directory for an example of how to use this library.