Exevo Pan π
Exevo Pan is an open-source web app with tons of features and utilities for the game Tibia
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
βΒ Β βββ prisma-database
βΒ Β βββ 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]