You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A versatile API facade for the Hypixel Auction API written in Rust. The entire auction house is fetched with NBT parsing and inserted into a PostgreSQL database in about 3-7 seconds every minute with low memory usage (can vary depending on enabled features, network speed, and latency of the Hypixel API)! You can query by auction UUID, auctioneer, end time, item name, item tier, item id, price, enchants, bin and bids. You can sort by the item's bin / starting price. You can track the average price of each unique pet-level-rarity combination. You can track the lowest prices of all bins. It also can track new bins that are at least one million lower than previous bins. Lastly, it can track the average auction prices and sales up to five days with custom 'averaging methods'.
12
+
A versatile API facade for the Hypixel Auction API written in Rust. The entire auction house is fetched with NBT parsing and inserted into a PostgreSQL database in about 2-5 seconds every minute with low memory usage (varies depending on enabled features, network speed, hardware, and latency of the Hypixel API)! You can query by auction UUID, auctioneer, end time, item name, item tier, item id, price, enchants, bin and bids. You can sort by the item's bin / starting price. You can track the average price of each unique pet-level-rarity combination. You can track the lowest prices of all bins. It also can track new bins that are at least one million lower than previous bins. Lastly, it can track the average auction prices and sales up to five days with custom 'averaging methods'.
13
13
14
14
## Set Up
15
15
### Prerequisites
@@ -20,19 +20,19 @@ A versatile API facade for the Hypixel Auction API written in Rust. The entire a
20
20
21
21
### Steps
22
22
- Clone the repository
23
-
- Rename the `.example_env` file to `.env` and fill out all fields **OR** set all fields using environment variables
24
-
- Run `cargo run --release` (may take some time to build)
23
+
- Rename the `.example_env` file to `.env` and fill out required fields **OR** set required fields using environment variables
24
+
- Run `cargo run --release` (may take time to build)
25
25
- Use it!
26
26
27
27
### Configuration Fields or Environment Variables
28
-
-`BASE_URL`: The base URL of the domain such as 127.0.0.1
29
-
-`PORT`: The port such as 8080
30
-
-`API_KEY`: Key needed to access this API (NOT a Hypixel API key)
31
-
-`ADMIN_API_KEY`: Admin key required to use raw SQL parameters. Will default to the API_KEY if not provided
32
-
-`POSTGRES_URL`: Full URL of a PostgreSQL database
33
-
-`WEBHOOK_URL`: Discord webhook URL for logging
34
-
-`FEATURES`: The features (QUERY, PETS, LOWESTBIN, UNDERBIN, AVERAGE_AUCTION, AVERAGE_BIN) you want to be enabled separated with a '+'
35
-
-`DEBUG`: If the API should log to files and stdout (true or false)
28
+
-`BASE_URL`: Base address of the host (e.g. 0.0.0.0)
29
+
-`PORT`: The port such (e.g. 8000)
30
+
-`API_KEY`: Optional key needed to access this API (NOT a Hypixel API key)
31
+
-`ADMIN_API_KEY`: Optional admin key required to use raw SQL parameters (defaults to the API_KEY)
32
+
-`POSTGRES_URL`: Full URL of a PostgreSQL database (should look like `postgres://[user]:[password]@[host]:[port]/[dbname]`)
33
+
-`WEBHOOK_URL`: Optional Discord webhook URL for logging
34
+
-`FEATURES`: Features (QUERY, PETS, LOWESTBIN, UNDERBIN, AVERAGE_AUCTION, AVERAGE_BIN) you want to enabled separated with a '+'
35
+
-`DEBUG`: If the API should log to files and stdout (defaults to false)
36
36
37
37
## Usage
38
38
### Endpoints
@@ -51,7 +51,7 @@ A versatile API facade for the Hypixel Auction API written in Rust. The entire a
For a free PostgreSQL database host, [Supabase](https://supabase.com/) is a really good choice and offers two free databases with plenty of space and performance.
54
+
For a free cloud PostgreSQL database, the free tier of [Supabase](https://supabase.com/) is a really good choice with with plenty of storage and performance.
55
55
56
56
### Deploy To Railway
57
57
[](https://railway.app/new/template?template=https://github.com/kr45732/rust-query-api&plugins=postgresql&envs=BASE_URL,API_KEY,ADMIN_API_KEY,POSTGRES_URL,WEBHOOK_URL,FEATURES&optionalEnvs=WEBHOOK_URL,ADMIN_API_KEY&BASE_URLDesc=The+base+URL+of+the+domain.+Do+not+modify+this&API_KEYDesc=Key+needed+to+access+this+API+(NOT+a+Hypixel+API+key)&ADMIN_API_KEYDesc=Admin+key+required+to+use+raw+SQL+parameters.+Will+default+to+the+API_KEY+if+not+provided&POSTGRES_URLDesc=Full+URL+of+a+PostgreSQL+database.+No+need+to+modify+this+unless+you+are+using+your+own+database+since+Railway+already+provides+this+for+you.&WEBHOOK_URLDesc=Discord+webhook+URL+for+logging&FEATURESDesc=The+features+(QUERY,+PETS,+LOWESTBIN,+UNDERBIN,+AVERAGE_AUCTION,+AVERAGE_BIN)+you+want+enabled+separated+with+commas&BASE_URLDefault=0.0.0.0&POSTGRES_URLDefault=$%7B%7BDATABASE_URL%7D%7D&FEATURESDefault=QUERY,LOWESTBIN,AVERAGE_AUCTION,AVERAGE_BIN&referralCode=WrEybV)
0 commit comments