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 8.4.0 or higher
- MySQL or another Laravel-compatible database
- Redis or another backend for the Laravel Queue (
fileworks 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 prodor, for development
npm install && npm run watch -
For development, start the development server
php artisan serve
Navigate to the site with your browser and you should be good to go.
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 --daemonThank 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