Owner: Dev Team | Last Updated: 2026-02-21 | Status: Current
All tools and accounts required for developing the Booking project.
| Requirement | Version | Required |
|---|---|---|
| PHP | >= 8.2 | Yes |
| Composer | >= 2.5 | Yes |
| Node.js | >= 18.17.0 | Yes |
| npm | >= 9.x | Yes |
| MySQL | >= 8.0 (or MariaDB) | Yes |
| Redis | Latest stable | Yes |
| Apache / Nginx | Apache >= 2.4 / Nginx >= 1.18 | Yes (production) |
| Docker | Latest stable | Optional (for DB) |
| Git | >= 2.x | Yes |
macOS (Homebrew):
brew install php@8.2
Ubuntu/Debian:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-common
Windows:
Use Laragon or XAMPP.
# Check installed extensions
php -m
| Extension | Purpose | Installation (Ubuntu) |
|---|---|---|
php-redis |
Redis client | sudo apt install php8.2-redis |
php-gd |
Image processing | sudo apt install php8.2-gd |
php-imagick |
Advanced image processing | sudo apt install php8.2-imagick |
php-zip |
ZIP archive support | sudo apt install php8.2-zip |
php-mysql |
MySQL driver | sudo apt install php8.2-mysql |
php-xml |
XML parsing | sudo apt install php8.2-xml |
php-curl |
HTTP client | sudo apt install php8.2-curl |
php-mbstring |
Multibyte strings | sudo apt install php8.2-mbstring |
Verification:
php -v
# Expected: PHP 8.2.x or higher
php -m | grep -E "redis|gd|imagick|zip"
# Expected: All extensions listed
# Install Composer globally
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Verification:
composer --version
# Expected: Composer version 2.5.x or higher
It is recommended to use nvm:
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# Install Node.js 18+
nvm install 18
nvm use 18
Verification:
node --version
# Expected: v18.17.0 or higher
npm --version
# Expected: 9.x or higher
macOS (Homebrew):
brew install mysql
brew services start mysql
Ubuntu/Debian:
sudo apt install mysql-server
sudo systemctl start mysql
Docker (alternative):
docker run -d --name booking_mysql \
-e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=booking \
-p 3306:3306 \
mysql:8.0
Verification:
mysql --version
# Expected: mysql Ver 8.0.x
mysql -u root -p -e "SELECT VERSION();"
macOS (Homebrew):
brew install redis
brew services start redis
Ubuntu/Debian:
sudo apt install redis-server
sudo systemctl start redis
Verification:
redis-cli ping
# Expected: PONG
| Service | Purpose | Required |
|---|---|---|
| Stripe | Payment processing | Yes |
| Bokun (optional) | Channel Manager integration | No |
| AWS S3 (optional) | File storage | No |
| Mail provider | Transactional emails (Postmark/SES) | For production |
Tip: For local development, Stripe provides test keys (
sk_test_*). Sign up at stripe.com and get them in Dashboard > Developers > API keys.
Additional requirements for a production server:
| Requirement | Purpose |
|---|---|
| Supervisor | Queue worker management |
| Cron | Laravel Scheduler (scheduled tasks) |
| SSL Certificate | HTTPS |
| Nginx / Apache | Web server |
| Date | Author | Change |
|---|---|---|
| 2026-02-21 | Documentation Team | Initial creation |
Next: Installation | Up: Getting Started