diff --git a/README.md b/README.md index 232b8d2..b63452c 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,47 @@ Next evolution of work started on StatsNerd. Repo to ramp up on finding positive EV and arbitrage opportunities. +## Project update + +Won't be working on this repo anymore privately, or at all I think. Explanation below: + +So this project started of from watching this random [Youtube Video](https://www.youtube.com/watch?v=s6R9xB1RdZU&t) + +Never knew anything about sports betting before, but thought it would be awesome to create a platform similar to [OddsJam](https://oddsjam.com/) for African markets, since there's no support for said markets in OddsJam, and betting is quite popular in Kenya. + +Unfortunately in Kenya as I have found out, all bet winnings are subject to 20% tax, which negatives all positive EV opportunities, which effectively makes any long term profit strategy next to impossible. + +This repo would be important for anyone who would still want to find misplaced odds by Kenyan bookies for the short term, and creates a structure that can be extended if you would like to. + +## Significant Libraries and Tools + +- [Cheerio](https://cheerio.js.org/): Library for parsing html. +- [Puppeteer](https://pptr.dev/): Used for web scrapping sports odds from bookmakers and also fetching true odds from betting exchanges. +- [Redis](https://redis.io/): Used as a pub-sub mechanism to pass events between the core modules. +- [TypeOrm](https://typeorm.io/): Interface with PostgresSQL database. + ## Modules +The core modules are designed to be decoupled, and can be deployed independently as well. For scrapping, the scrapping module can be deployed as lambda functions are they are short lived, then result passed on via pub-sub to the other modules. + +### Config + +Config stores JSON configuration objects for different providers, specifically which urls and game metadata is associated with the webpage to scrape. + ### Core -#### Scraping +#### Analysis + +Analyzes collected odds to find mismatched odds from bookies. -Functionality for fetching raw html data from bet providers. +#### Game Events + +Functionality for handling specific game event data. Combines the same game event from different providers into a single unified event. #### Parsers Functionality for parsing html content from bet providers into useful bet meta data. -#### Game Events +#### Scraping -Functionality for handling specific game event data. +Functionality for fetching raw html data from bet providers and betting exchanges. Each provider requires different web scrapping techniques to get the required data, and this is defined here. diff --git a/src/bet_providers/betika.ts b/src/bet_providers/betika.ts index 8774958..3db7853 100644 --- a/src/bet_providers/betika.ts +++ b/src/bet_providers/betika.ts @@ -1,14 +1,8 @@ -import { BetProviders, Games } from "../utils/types/common"; import { BetProvider } from "."; +import { BetProviders } from "../utils/types/common"; export class BetikaProvider extends BetProvider { constructor() { super(BetProviders.BETIKA, "src/config/betika.json"); } - - override getSupportedGames(): Games[] { - return [ - Games.TENNIS_SINGLES - ]; - } } diff --git a/src/bet_providers/index.ts b/src/bet_providers/index.ts index eef6d73..5dc1c95 100644 --- a/src/bet_providers/index.ts +++ b/src/bet_providers/index.ts @@ -14,8 +14,6 @@ export abstract class BetProvider { this.configPath = configPath; } - abstract getSupportedGames(): Games[] - public async getConfig(): Promise> { const readFileResult = await readFileAsync(this.configPath); if (readFileResult.result === "success") { diff --git a/src/testbed/testbed_4.ts b/src/testbed/init_analysis.ts similarity index 100% rename from src/testbed/testbed_4.ts rename to src/testbed/init_analysis.ts diff --git a/src/testbed/testbed_3.ts b/src/testbed/init_event_processor.ts similarity index 100% rename from src/testbed/testbed_3.ts rename to src/testbed/init_event_processor.ts diff --git a/src/testbed/testbed_2.ts b/src/testbed/init_parser.ts similarity index 100% rename from src/testbed/testbed_2.ts rename to src/testbed/init_parser.ts diff --git a/src/testbed/testbed_1.ts b/src/testbed/init_scrapper.ts similarity index 100% rename from src/testbed/testbed_1.ts rename to src/testbed/init_scrapper.ts