Zooniverse is configured through aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/raczkodavid/Zooniverse/llms.txt
Use this file to discover all available pages before exploring further.
.env file in the project root. The init.bat script generates this file automatically during first-time setup, but you can adjust any value at any time and restart the development server to apply changes. This page covers the settings that affect day-to-day use of the application.
Environment variables
The following.env keys are the ones you are most likely to need to change:
APP_NAME
The name of the application as shown in the browser tab and any outgoing emails.
APP_URL
The full URL where the application is accessible. Used when generating links inside the application. When running the built-in development server this should match the address and port printed by php artisan serve.
APP_TIMEZONE
The timezone used for all date and time operations, including the born_at field on animals and the feeding_time field on enclosures. Accepts any PHP-supported timezone string.
Feeding task calculations on the homepage are evaluated in the
Europe/Budapest timezone regardless of APP_TIMEZONE. This is hardcoded in HomeController using Carbon::now('Europe/Budapest').DB_CONNECTION
The database driver. Zooniverse defaults to sqlite, which requires no additional database server. The SQLite file is created at database/database.sqlite by the init.bat script.
To switch to MySQL or PostgreSQL, update
DB_CONNECTION and add the corresponding DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD values. You will then need to re-run migrations with php artisan migrate.FILESYSTEM_DISK
Controls where uploaded files are stored. The default local driver stores files inside storage/app/. Animal photos are placed in storage/app/public/images/.
Development server
Start the local development server with:8000 by default and the application is accessible at http://localhost:8000. To use a different port, pass the --port option:
The
init.bat script runs php artisan serve as its final step, so the server is already running after a fresh setup on Windows. On other platforms you will need to start it manually.Image storage
Animals can have a photo uploaded when they are created or edited. Uploaded images are stored on disk at:public/storage to storage/app/public. Create the symlink by running:
image_name column on the animals table stores the original filename, and image_name_hash stores the hashed filename actually written to disk. This prevents filename collisions when multiple animals share a common photo name.
Dark mode
Zooniverse includes a built-in dark mode toggle in the navigation bar. No environment variable or configuration change is required — users can switch between light and dark themes at any time directly in the UI.Tech stack
| Layer | Technology |
|---|---|
| Backend framework | Laravel 12.x |
| PHP version | 8.2 or higher |
| Frontend | Bootstrap 5 (CDN) |
| Database | SQLite (default) |
| Authentication | Laravel Breeze |
Laravel Breeze provides the login, registration, and password-reset screens. The
admin boolean column on the users table is a Zooniverse-specific addition that controls access to admin-only areas such as user management.