2.5 KiB
2.5 KiB
PreRegister — Quick Start (Docker)
Prerequisites
- PHP >= 8.2 with extensions: mbstring, xml, curl, mysql, gd
- Composer >= 2.7
- Node.js >= 20
- Docker & Docker Compose
Step-by-step setup
1. Create the Laravel project
composer create-project laravel/laravel preregister
cd preregister
2. Copy the project files into the Laravel root
Copy these files into the preregister/ folder:
docker-compose.ymlMakefilePreRegister-Development-Prompt.md
3. Start the Docker containers
make up
# or: docker compose up -d
This starts three services:
| Service | URL | Purpose |
|---|---|---|
| MySQL 8.0 | localhost:3306 |
Database |
| phpMyAdmin | http://localhost:8080 | Database browser |
| Mailpit | http://localhost:8025 | Local email catcher |
4. Configure .env
Open .env and replace the DB and MAIL sections with:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=preregister
DB_USERNAME=preregister
DB_PASSWORD=preregister
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
QUEUE_CONNECTION=database
5. Install Breeze and build frontend
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install
6. Run migrations and seed
php artisan migrate
php artisan db:seed # after seeders are created
7. Start developing
make dev
# This runs php artisan serve + npm run dev in parallel
# App: http://localhost:8000
8. Start Claude Code
Open a second terminal in the project root:
claude
Then paste:
Read the file
PreRegister-Development-Prompt.mdin this project root. This is the full specification. Docker containers are already running (MySQL on 3306, phpMyAdmin on 8080, Mailpit on 8025). Breeze is installed. Start from Phase 1, Step 2 (create migrations). Work step by step and confirm before moving to the next phase.
Useful commands
| Command | What it does |
|---|---|
make up |
Start Docker containers |
make down |
Stop Docker containers |
make fresh |
Drop all tables, re-migrate, re-seed |
make queue |
Start the queue worker (for Mailwizz sync) |
make dev |
Start Laravel + Vite dev servers |
make routes |
Show all registered routes |
make clear |
Clear all Laravel caches |
Service URLs
| Service | URL |
|---|---|
| Application | http://localhost:8000 |
| phpMyAdmin | http://localhost:8080 |
| Mailpit (email UI) | http://localhost:8025 |