🍎
Exevo Pan Exevo Pan is an official Tibia supported fansite focused on improving your Char Bazaar experience.
What's inside?
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
Apps
- 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
Setup
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:
Install all the dependencies
yarn && yarn build:packages
Scraping current auctions data
At the apps/bazaar-scraper
directory, run:
yarn scrap:auctions
to get current auctions data. Then, fetch for highlighted auctions:
yarn update:highlighted
Scraping history auctions data
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
About
This software is 100% free, open-source and unlicensed.
You can find more info about me or this project here
Contact: [email protected]