Skip to main content
This guide will help you get Zoo Arcadia running on your machine in just a few minutes. Choose between Docker (recommended) or local setup.

Prerequisites

Before you begin, ensure you have the following installed:
  • PHP 7.4+ (PHP 8.x recommended)
  • Composer - PHP dependency manager
  • Node.js and npm (includes npx)
  • MySQL/MariaDB - Database server
  • Docker Desktop (optional, for Docker setup)

Quick Setup Options

Database Configuration

Zoo Arcadia uses environment variables for database configuration. The .env file is automatically managed by the switch scripts.
DB_HOST=db
DB_NAME=zoo_arcadia
DB_USER=zoo_user
DB_PASS=zoo_password

Default Credentials

Default user credentials are created during database seeding. Check the database/06_seed_data.sql file for the complete list of seeded users and their roles (Admin, Veterinary, Employee, Accountant).
The application includes the following role types:
  • Admin - Full system access
  • Veterinary - Animal health and reports management
  • Employee - Limited actions (maintenance, feeding)
  • Accountant - Financial management

Asset Compilation

Zoo Arcadia uses Gulp to compile SCSS and JavaScript files.
npx gulp buildCss && npx gulp buildJs
The development mode includes:
  • File watching for automatic recompilation
  • BrowserSync for live reload
  • Source maps for debugging

Next Steps

Now that you have Zoo Arcadia running:
  1. Explore the front-end pages (animals, habitats, services)
  2. Access the back-office with appropriate credentials
  3. Review the Installation Guide for detailed configuration options
  4. Check the project structure in README.md

Common Issues

If port 8080 (Docker) or 3001 (local) is already in use, you can:
  • Stop the conflicting service
  • Change the port in docker-compose.yml (Docker) or use a different port with php -S localhost:PORT
See the Installation Guide for detailed troubleshooting steps.
Verify your .env file settings match your environment:
  • For Docker: ensure containers are running with docker-compose ps
  • For Local: ensure MySQL/MariaDB service is running

Build docs developers (and LLMs) love