Why Parking Manager: Car Park Tickets, Slots & Gate Desk
What makes it better
than the alternatives
- 01
Automatic slot assignment
First free slot of the correct vehicle type, with duplicate-parking protection
- 02
Time-based rate engine
First-hour price plus hourly increments, optional daily maximum per 24 hours, grace period for quick exits
- 03
Registered vehicle fast-track
RFID or plate lookup parks known vehicles instantly; monthly passes with WhatsApp expiry reminders
- 04
Driver ticket links
Signed, expiring URLs show slot, time parked, current fee and printable receipt with no login required
- 05
Public availability board
Real-time free space counts per zone with no personal data, designed mobile-first for entrance displays
Lot setup
- Zones
- floors and vehicle types
- Slots with type
- zone
- floor and an out-of-service flag
- Generate a whole row of slots (A-01 to A-20) in one dialog
Rates
- Per zone and vehicle type with validity dates
- First-hour price and hourly price
- Optional daily maximum per 24 hours
- The rate in force on the entry day is used for the whole stay
- Manual fee entry when no rate exists
Gate desk
- Type or scan a plate or RFID tag
- A parked vehicle opens the check-out bill
- A registered vehicle is parked at once
- A new vehicle needs only a vehicle type
Tickets
- Numbered tickets (P-00001)
- First free slot of the right vehicle type
- Duplicate-parking protection
- Editable while open and read-only once closed
- Delete is admin-only
Fees
- Free grace period (default 10 minutes
- set in Settings)
- First started hour plus each further started hour
- Optional daily maximum
- Discount that never exceeds the fee
- Payment methods: cash
- card
- mobile wallet
- monthly pass
Registered vehicles
- RFID tag
- plate
- owner and phone
- Optional monthly pass that parks free until it expires
- WhatsApp reminder link when a pass is ending
Driver pages
- Signed
- expiring ticket link showing slot
- time parked and the fee so far
- Printable receipt after leaving
- Public availability board with free spaces per zone and no personal data
Dashboard
- Parked now
- free slots
- entries and revenue today
- average stay
- Revenue and entries chart for 14 days
- Occupancy by zone
- longest parked and passes ending soon
Settings
- Car park name
- address
- phone
- currency code
- grace period and receipt footer
Security and roles
- Admin and staff roles with policies on every resource
- No public registration
- Rate limited public pages (30 per minute)
- Optional demo mode with signed one-click logins (off by default)
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| PHP | — | — | Web, API | 87.4% |
| SQL | — | — | Database | 7.8% |
| CSS | — | — | Styling | 3.7% |
| Shell | — | — | Scripts | 0.7% |
| JavaScript | — | — | Front-end | 0.4% |
- Primary language
- PHP 8.3+
- Framework
- Laravel 13 + Filament 5
- Database
- MySQL 8.0 / MariaDB 10.6+ (SQLite for dev)
- Authentication
- Laravel session-based (Filament admin panel)
- Licence
- Single-site
- Screens
- 18
- Database tables
- 9
- Supported languages
- English only
- Browser support
- Modern browsers (Chrome, Firefox, Safari, Edge — last 2 versions)
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 1 GB |
| OS | PHP 8.3+ with intl, gd, zip, bcmath, exif, mbstring, pdo_mysql; Apache 2.4 or Nginx; Node 20+ for build | PHP 8.3+ with intl, gd, zip, bcmath, exif, mbstring, pdo_mysql; Apache 2.4 or Nginx; Node 20+ for build |
| Est. monthly hosting | $10 | $10 |
```bash unzip parking-manager-vibe96.zip -d parking && cd parking cat > .env <<ENV APP_KEY=base64:$(openssl rand -base64 32) DB_PASSWORD=$(openssl rand -hex 16) SEED_ADMIN_EMAIL=you@example.com SEED_ADMIN_PASSWORD=choose-a-strong-password ENV docker compose up -d --build # http://localhost:8080/admin ```
```bash unzip parking-manager-vibe96.zip -d /var/www/parking && cd /var/www/parking composer install --no-dev -o && npm ci && npm run build cp .env.example .env && php artisan key:generate # set APP_ENV=production, APP_URL, DB_*, SEED_ADMIN_PASSWORD in .env php artisan migrate --force --seed php artisan config:cache && php artisan route:cache # point nginx at public/ (full steps in HowToSetup.md) ```
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
94/ 100
Automated audit score
✓ Passed the auditReviewer notes (2 minor)
Schema solid, minor indexing gaps on foreign keys and a few missing cascades; strong authentication on all mutating routes; minor ownership gap on public ticket view. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.