Exevo Pan is an official Tibia supported fansite focused on improving your Char Bazaar experience.
This monorepo contains the entire codebase of our project. Here is the anatomy:
├── automations
├── apps
│ ├── bazaar-scraper
│ ├── blog-worker
│ ├── current-auctions-lambda
│ ├── exevo-pan
│ └── history-server
├── packages
│ ├── auction-queries
│ ├── config
│ ├── data-dictionary
│ ├── logging
│ ├── mock-maker
│ ├── shared-utils
│ ├── tsconfig
│ └── @types
└── package.json
The entire stack is built using typescript
, so you will need Node.js
and yarn
. If you are starting from a fresh clone of this repository, start with:
yarn
This will install and build all the apps
dependencies. You will also need to install Workers CLI:
yarn global add @cloudflare/wrangler
and Serverless Framework CLI:
yarn global add serverless
- exevo-pan: the frontend application, built with
React
- bazaar-scraper: a custom built tool for scraping Char Bazaar data from the official Tibia website
- current-auctions-lambda: a AWS Lambda that serves current auctions data
- history-server: an
Express
webserver responsible for serving past auctions data - blog-worker: a Cloudflare Worker that queries blog posts
It's advisible that you read every app documentation before trying to run the full stack. Still, here is a simple recipe for you to get started:
yarn && yarn build:packages
At the apps/bazaar-scraper
directory, run:
yarn scrap:auctions
to get current auctions data. Then, fetch for highlighted auctions:
yarn update:highlighted
To get some history auction data, start with:
yarn scrap:history
Scraping the entire History data will take several days, but you can skip this process as soon as HistoryAuctions.jsonl
has been outputted.
Now generate some history statistics data using:
yarn update:statistics
At this point, your apps/bazaar-scraper/Output
directory should have this set of data:
├── CurrentAuctions.json
├── HighlightedAuctions.json
├── HistoryAuctions.jsonl
├── HistoryStatistics.json
├── ItemsData.json
├── ScrapHistoryData.json
└── ServerData.json
Now you are ready to have a minimal dev environment! Go back to the repository root directory and run:
yarn dev
Now you are ready to roll! Apps will be running on:
- exevo-pan: http://localhost:3000
- current-auctions-lambda: http://localhost:8787
- history-server: http://localhost:4000
- static-data-server: http://localhost:5555
- blog-worker: http://localhost:3132
- static-blog-data-server: http://localhost:4444
This software is 100% free, open-source and unlicensed.
You can find more info about me or this project here 😄
Contact: xandjiji@gmail.com