# 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 ```