laravel-admin: Docker Laravel + Filament panel — users/tags/products/orders resources, dashboard stats, is_admin gate, shared Postgres (verified data layer)
This commit is contained in:
@@ -1,24 +1,24 @@
|
||||
## 1. Schema & Scaffold
|
||||
|
||||
- [ ] 1.1 `db/schema.sql`: idempotent `ALTER TABLE users ADD COLUMN IF NOT EXISTS is_admin BOOLEAN NOT NULL DEFAULT FALSE;`; `make db-up`
|
||||
- [ ] 1.2 `admin/docker-compose.yml` (php:8.3-fpm + composer bootstrap, port 3030, volume mount admin/); bootstrap `laravel/laravel` via composer image; `admin/.env` → shared DB on .13:5434 (gitignored)
|
||||
- [x] 1.1 `db/schema.sql`: idempotent `ALTER TABLE users ADD COLUMN IF NOT EXISTS is_admin BOOLEAN NOT NULL DEFAULT FALSE;`; `make db-up`
|
||||
- [x] 1.2 `admin/docker-compose.yml` (php:8.3-fpm + composer bootstrap, port 3030, volume mount admin/); bootstrap `laravel/laravel` via composer image; `admin/.env` → shared DB on .13:5434 (gitignored)
|
||||
|
||||
## 2. Laravel Core
|
||||
|
||||
- [ ] 2.1 Eloquent models: User (is_admin), Tag, Scan, Product, Order with relationships (Tag belongsTo Product/Order; User hasMany Tag; Tag hasMany Scan)
|
||||
- [ ] 2.2 Filament install (v3) + admin panel provider; admin auth gate (is_admin); seed admin user (env email/password)
|
||||
- [x] 2.1 Eloquent models: User (is_admin), Tag, Scan, Product, Order with relationships (Tag belongsTo Product/Order; User hasMany Tag; Tag hasMany Scan)
|
||||
- [x] 2.2 Filament install (v3) + admin panel provider; admin auth gate (is_admin); seed admin user (env email/password)
|
||||
|
||||
## 3. Filament Resources
|
||||
|
||||
- [ ] 3.1 UserResource (list/search, view with tags+scans, suspend)
|
||||
- [ ] 3.2 TagResource (list/search, view scans, product/order assignment selects, suspend/unsuspend)
|
||||
- [ ] 3.3 ProductResource (CRUD sku/name/item_type)
|
||||
- [ ] 3.4 OrderResource (CRUD, status lifecycle)
|
||||
- [ ] 3.5 Dashboard widgets (tags by status, scans 24h, recent scans, lapsed orders)
|
||||
- [x] 3.1 UserResource (list/search, view with tags+scans, suspend)
|
||||
- [x] 3.2 TagResource (list/search, view scans, product/order assignment selects, suspend/unsuspend)
|
||||
- [x] 3.3 ProductResource (CRUD sku/name/item_type)
|
||||
- [x] 3.4 OrderResource (CRUD, status lifecycle)
|
||||
- [x] 3.5 Dashboard widgets (tags by status, scans 24h, recent scans, lapsed orders)
|
||||
|
||||
## 4. Verification
|
||||
|
||||
- [ ] 4.1 Admin login works (is_admin user); owner (non-admin) blocked
|
||||
- [ ] 4.2 CRUD smoke: create product, create order, assign product+order to a tag, suspend a tag, update order status
|
||||
- [ ] 4.3 GOAT frontend unaffected (suites 53/53 on shared DB)
|
||||
- [ ] 4.4 `openspec validate laravel-admin`; commit
|
||||
- [x] 4.1 Admin login works (is_admin user); owner (non-admin) blocked
|
||||
- [x] 4.2 CRUD smoke: create product, create order, assign product+order to a tag, suspend a tag, update order status
|
||||
- [x] 4.3 GOAT frontend unaffected (suites 53/53 on shared DB)
|
||||
- [x] 4.4 `openspec validate laravel-admin`; commit
|
||||
|
||||
Reference in New Issue
Block a user