Skip to main content

Documentation 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.

When you run php artisan migrate:fresh --seed, the database seeder creates a set of ready-to-use accounts so you can explore the application immediately. This includes two named accounts with known credentials (an admin and a regular caretaker), plus ten additional randomly generated users.

Named accounts

These two accounts are created by DatabaseSeeder.php with fixed credentials:

Admin

Email: admin@admin.comPassword: adminRole: Administrator — full access to all features

Caretaker

Email: user@user.comPassword: userRole: Caretaker — read access to assigned enclosures

Role permissions

Zooniverse has two roles: admin and caretaker. The role is stored as a boolean admin field on the users table.
CapabilityAdminCaretaker
View all enclosuresYesNo — only assigned enclosures
Create enclosuresYesNo
Edit enclosuresYesNo
Delete enclosuresYesNo
Add animalsYesNo
Archive (soft-delete) animalsYesNo
Assign caretakers to enclosuresYesNo
View feeding schedulesYesYes — for assigned enclosures
View animal detailsYesYes — for assigned enclosures
Caretakers are assigned to enclosures via a many-to-many relationship. A caretaker can be assigned to multiple enclosures, and each enclosure can have multiple caretakers.

Additional seeded users

In addition to the two named accounts, the seeder uses the UserFactory to create 10 randomly generated users:
User::factory(10)->create();
These users have:
  • Random names and unique email addresses (generated by Faker)
  • A default password of password
  • No admin privileges (admin defaults to false)
  • Pre-verified email addresses
The 10 random users are assigned as caretakers to enclosures by the EnclosureSeeder. Each of the 10 demo enclosures gets between 1 and 5 randomly selected users attached to it.

Demo enclosures and animals

The seeder also runs EnclosureSeeder and AnimalSeeder to populate the application with demo data:
  • 10 enclosures are created, each with a random name, animal capacity limit (1–100), and feeding time. Each enclosure is assigned 1–5 random caretakers.
  • Animals are added to each enclosure — between 1 and the enclosure’s capacity limit. The first animal determines the enclosure type (predator or herbivore), and all subsequent animals in that enclosure are created with the same type to ensure compatibility.
The smart animal seeding mirrors the application’s validation rules: predators and herbivores cannot share an enclosure.
The default credentials (admin / admin and user / user) are intentionally simple for development. Change them before deploying Zooniverse to any environment accessible over a network.

Build docs developers (and LLMs) love