38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Random _Fallout 76_ records
|
|
Allows a user to retrieve a random record from the _Fallout 76_ game files.
|
|
The user can filter records by data type to avoid receiving uninteresting data types.
|
|
|
|
The back end, `api.php`, communicates with an SQLite database, `.fo76-dumps-ids.db`, containing the `IDS.csv` dump from
|
|
[the _Fallout 76_ data dumps repository](https://github.com/FWDekker/fo76-dumps/), with an additional index
|
|
`sk_signature` on the signature column.
|
|
The database also has a table `meta` with text columns `key` and `value` that contain version information.
|
|
Additionally, the database has an index `sk_signature` on the signature column.
|
|
The database is not included in this repository.
|
|
|
|
The front end, `index.html`, sends asynchronous queries to the back end based on the user's settings.
|
|
Selected data types are stored in a cookie so the user doesn't have to redo their settings each time the page is
|
|
refreshed.
|
|
|
|
## Development
|
|
### Requirements
|
|
* [npm](https://www.npmjs.com/)
|
|
* PHP 7.3+
|
|
* [PHP SQLite 3](https://www.php.net/manual/en/book.sqlite3.php)
|
|
* a local copy of `.fo76-dumps-ids.db`
|
|
|
|
### Setting up
|
|
```shell script
|
|
# Install dependencies (only needed once)
|
|
$> npm ci
|
|
```
|
|
|
|
### Building
|
|
```shell script
|
|
# Build the tool in `dist/` for development
|
|
$> npm run dev
|
|
# Same as above, but automatically rerun it whenever files are changed
|
|
$> npm run dev:server
|
|
# Build the tool in `dist/` for deployment
|
|
$> npm run deploy
|
|
```
|