Turnip Queue is designed to make a queue for people wishing to visit your island in Animal Crossing: New Horizons. It shows the Dodo Code to visit your island to a set number of people at a time, with live updates via pusher channels. See it in action at https://turnip-queue.schlachter.xyz
There are a few prerequisites by way of software and api keys in order to install this package. They include:
- PHP 7.3.0 or higher
- MySQL or another Laravel-compatible database
- Redis or another backend for the Laravel Queue (
file
works for local development) - Composer
- NPM
- Pusher Channel API keys, which can be obtained for free for development from https://pusher.com/channels
- Google ReCaptcha v3 API keys, which can be obtained for free from https://www.google.com/recaptcha/about/
- An email provider (I use GMail with SMTP and an App Password)
-
Clone the repository from GitHub
git clone https://github.com/mschlachter/turnip-queue.git && cd turnip-queue
or
git clone git@github.com:mschlachter/turnip-queue.git && cd turnip-queue
-
Install the Composer dependencies
composer install --no-dev
or, for development
composer install
-
Copy the example .env file and fill in the needed values and API keys
cp .env.example .env && nano .env
-
Generate an encryption key for Laravel
php artisan key:generate
-
Run the migrations
php artisan migrate
-
Install the node packages and run the npm script
npm install && npm run prod
or, for development
npm install && npm run watch
Navigate to the site with your browser and you should be good to go. If you're using Valet, it'll likely be located at http://turnip-queue.test
For proper function there are also two cronjobs and one Supervisor task that need to be run.
The cronjobs are:
* * * * * php {$PROJECT_DIRECTORY}/artisan queue:purge-seekers
*/5 * * * * php {$PROJECT_DIRECTORY}/artisan queue:purge-queues
The Supervisor task (should be run continuously) is:
php {$PROJECT_DIRECTORY}/artisan queue:work --daemon
Thank you for considering contributing to the Turnip Queue! The contribution guide can be found in the CONTRIBUTING.md file of this package.
If you discover a security vulnerability within this application, please send an e-mail to Matthew Schlachter via matthew@schlachter.xyz. All security vulnerabilities will be promptly addressed.
This package is Open-Source software licensed under the Attribution 4.0 International (CC BY 4.0) License.
Sound effect for the notification was obtained from zapsplat.com