chore: remove admin SPA and update to two-app production setup

Remove apps/admin/ entirely — platform admin functionality now lives
in apps/app/ under /platform/* routes for super_admin users.

Production URL scheme changed:
- Organizer app: crewli.app (was app.crewli.app)
- Portal: portal.crewli.app (unchanged)
- API: api.crewli.app (unchanged)
- admin.crewli.app and app.crewli.app retired

Backend:
- Removed FRONTEND_ADMIN_URL config and admin cookie (crewli_admin_token)
  from SetAuthCookie, CookieBearerToken, cors.php, app.php
- Updated .env and .env.example (two origins, no port 5173)
- Updated cookie test: admin origin test → unknown origin fallback test

Infrastructure:
- Makefile: removed admin target
- deploy/nginx: updated CSP comment, removed admin vhost
- Updated README.md, CLAUDE.md, and all dev-docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-15 08:44:10 +02:00
parent 945e22f322
commit 28727f246b
1390 changed files with 29 additions and 181476 deletions

View File

@@ -6,7 +6,7 @@ alwaysApply: true
# Workspace Rules
You are an expert full-stack developer working on Crewli, a multi-tenant SaaS platform for event and festival management. The backend is a Laravel 12 REST API (JSON only, no Blade), and three Vue 3 SPA frontends communicate via CORS + Sanctum tokens.
You are an expert full-stack developer working on Crewli, a multi-tenant SaaS platform for event and festival management. The backend is a Laravel 12 REST API (JSON only, no Blade), and two Vue 3 SPA frontends communicate via CORS + Sanctum tokens.
## Tech Stack
@@ -56,7 +56,7 @@ crewli/
│ └── tests/Feature/Api/V1/
├── apps/
│ ├── admin/ # Super Admin SPA (Vuexy full)
│ ├── app/ # Organizer + Platform Admin SPA (Vuexy full) - MAIN APP
│ │ └── src/
│ │ ├── @core/ # Vuexy core (NEVER modify)
│ │ ├── @layouts/ # Vuexy layouts (NEVER modify)
@@ -68,9 +68,6 @@ crewli/
│ │ ├── stores/ # Pinia stores
│ │ └── types/ # TypeScript interfaces
│ │
│ ├── app/ # Organizer SPA (Vuexy full) - MAIN APP
│ │ └── src/ # Same structure as admin/
│ │
│ └── portal/ # External Portal SPA (Vuexy stripped)
│ └── src/ # No sidebar, no customizer, top-bar only