Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RapidFix

Phone-repair shop platform: public storefront for browsing services/accessories and booking repairs, plus a staff admin console for catalog, appointments, invoices, and enquiries.

Single-shop install — one catalog, one appointment queue, one business.

Surface Who What
Public site (/) Customers (no login) Browse services & accessories, get live estimates, book appointments, send contact messages
Admin console (/dashboard, /admin/*) Staff (auth + verified email) Manage catalog, process bookings, calendar, invoices, contact inbox
JSON API (/api/*) SPA / clients Public catalog reads + appointment create/lookup

Product details: see FEATURES.md.

Stack

  • PHP 8.4 · Laravel 13 · Livewire 4 · Flux UI 2 · Tailwind CSS 4
  • Auth: Laravel Fortify (login, registration, 2FA, email verification)
  • Media: Spatie Media Library · SEO: ralphjsmit/laravel-seo
  • Default DB: SQLite (MySQL/Postgres also fine)

Requirements

  • PHP 8.4+
  • Composer 2
  • Node.js 20+ (Vite / Tailwind)
  • Laravel Herd (recommended on macOS) or PHP’s built-in server via composer run dev

Quick start (Herd)

This repo is already linked as https://rapidfix-be.test when the folder lives under Herd’s sites.

# 1. Install PHP deps + create .env + key + migrate + storage link + npm build
composer run setup

# 2. Seed demo catalog + staff user
php artisan db:seed

# 3. Frontend watcher (Herd serves PHP; Vite must still run for assets in local dev)
npm run dev

Open:

Seeded staff account

Field Value
Email test@example.com
Password password

Alternative: without Herd

composer run setup
php artisan db:seed

# Starts: `php artisan serve` + queue worker + Pail + Vite
composer run dev

App URL defaults to http://localhost:8000 — set APP_URL in .env to match.

Environment

Copy happens automatically in composer run setup. Important knobs in .env:

APP_NAME="RapidFix Panel"
APP_URL=https://rapidfix-be.test

DB_CONNECTION=sqlite
# Or MySQL:
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_DATABASE=rapidfix
# DB_USERNAME=root
# DB_PASSWORD=

SITE_PHONE="+1 (555) 123-4567"
SITE_PHONE_TEL=+15551234567
SITE_EMAIL=hello@rapidfix.com
SEO_SITE_NAME="RapidFix Phone Repair"

# API rate limits (per IP / minute)
THROTTLE_PUBLIC_API_PER_MINUTE=1200
THROTTLE_APPOINTMENTS_PER_MINUTE=120

After changing DB credentials:

php artisan migrate --seed
php artisan storage:link   # public disk for uploaded catalog images

Useful URLs

Path Purpose
/ Services catalog (home)
/accessories Accessories catalog
/book Appointment booking
/about · /contact Marketing / enquiry
/login · /register Staff auth
/dashboard Staff dashboard
/admin/repairs/appointments Appointment queue
/admin/repairs/appointments/calendar Calendar
/admin/catalog/* Categories, brands, services, accessories, time slots
/admin/messages Contact inbox
/api/services · /api/accessories · … Public JSON API

Public API (summary)

All under /api, rate-limited.

GET  /api/categories?type=service|accessory
GET  /api/brands?include_tree=1
GET  /api/services?category=&search=
GET  /api/accessories?brand=&line=&version=&category=&q=
GET  /api/time-slots
POST /api/appointments
GET  /api/appointments/{reference}   # e.g. RF-XXXXX-XXXX

Day-to-day commands

# Assets
npm run dev          # Vite HMR
npm run build        # production build

# App
php artisan migrate
php artisan db:seed
php artisan queue:listen
php artisan test --compact

# Format
vendor/bin/pint --dirty

composer run test runs Pint (check) + the full PHPUnit suite.

Project layout (high signal)

app/
  Http/Controllers/Api/     # JSON API
  Http/Controllers/Admin/   # calendar feed, invoices
  Models/ · Services/       # domain
resources/views/pages/
  site/                     # public Livewire pages
  admin/                    # staff console
routes/
  web.php · api.php
database/seeders/           # demo catalog + appointments
FEATURES.md                 # product feature docs

Tests

php artisan test --compact
php artisan test --compact tests/Feature/Api/

Docs

About

Rapid Fix appointment booking web application and booking management Admin panel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages