# MVNexus Rebranding Report

**Date:** 2026-06-07  
**Initiative:** MVHelpDesk → MVNexus  
**Status:** Complete — non-breaking branding pass

---

## Executive Summary

The platform has been rebranded from **MVHelpDesk** (Internal IT Support / Help Desk positioning) to **MVNexus** (Enterprise Work Management Platform). All user-visible surfaces, email templates, notification copy, login experience, SEO metadata, and active documentation now reflect the new product identity.

**No breaking changes** were introduced: API routes, database schema, internal service identifiers, logo asset URL, and session mechanics remain unchanged.

---

## Brand Positioning

| Element | Before | After |
|---------|--------|-------|
| Product name | MVHelpDesk | **MVNexus** |
| Tagline | Enterprise IT Ticketing System / Internal IT Support | **Enterprise Work Management Platform** |
| Short tagline | — | **Projects • Teams • Support • Delivery** |
| Login description | — | Manage projects, teams, support requests, agile delivery, and operational work from one unified platform. |
| Footer | © 2026 Mountain View Egypt — MVHelpDesk | © 2026 Mountain View Egypt — **MVNexus** |

---

## Files Changed

### Frontend — Locales & UI (18 files)

| File | Changes |
|------|---------|
| `resources/js/src/locales/en/common.json` | App name, tagline, page title, meta, footer keys |
| `resources/js/src/locales/ar/common.json` | Arabic equivalents |
| `resources/js/src/locales/en/auth.json` | Welcome subtitle, login description |
| `resources/js/src/locales/ar/auth.json` | Arabic equivalents |
| `resources/js/src/locales/en/onboarding.json` | Welcome titles (3 occurrences) |
| `resources/js/src/locales/ar/onboarding.json` | Arabic equivalents |
| `resources/js/src/features/auth/pages/LoginPage.tsx` | Tagline + description in branding block |
| `resources/js/src/app/components/DocumentHead.tsx` | Open Graph title + description |
| `resources/js/src/shared/realtime/echoClient.ts` | Dev console prefix `[mvnexus]` |

### Backend — Email & Notifications (11 files)

| File | Changes |
|------|---------|
| `resources/views/emails/layout.blade.php` | Header MVNexus, subtitle, footer copyright |
| `resources/views/emails/otp-login.blade.php` | Title, body, footer |
| `resources/views/emails/magic-link.blade.php` | Title, footer |
| `resources/views/emails/user-invite.blade.php` | Title, invite copy, footer |
| `resources/views/emails/notification.blade.php` | Title (covers ticket/project/sprint/risk/milestone emails) |
| `lang/en/notifications.php` | Subtitle, footer text |
| `lang/ar/notifications.php` | Arabic equivalents |
| `app/Modules/Identity/Mail/OtpLoginMail.php` | Email subject |
| `app/Modules/Identity/Jobs/SendMagicLinkEmailJob.php` | Email subject |
| `app/Modules/Identity/Jobs/SendUserInviteEmailJob.php` | Email subject |

### App Metadata & Config (6 files)

| File | Changes |
|------|---------|
| `resources/views/app.blade.php` | Title fallback, meta description, OG tags |
| `config/app.php` | Default APP_NAME → MVNexus |
| `config/cors.php` | Comment update |
| `.env.example` | APP_NAME=MVNexus |
| `package.json` | Package name → mvnexus-frontend |
| `README.md` | Full product positioning update |

### Database Seeders (2 files)

| File | Changes |
|------|---------|
| `database/seeders/SuperAdminSeeder.php` | MVNexus System |
| `database/seeders/SettingDefinitionSeeder.php` | app_name + mail_from_name defaults |

### Tests (2 files)

| File | Changes |
|------|---------|
| `tests/Feature/Projects/EnterpriseAgileV2Test.php` | Company fixture name |
| `tests/Unit/Services/SettingsResolverTest.php` | Default value assertions |

### Documentation (35+ files)

All active docs under `docs/` updated from MVHelpDesk → MVNexus. New documents:

- `docs/MVNEXUS_BRAND_AUDIT.md`
- `docs/MVNEXUS_REBRANDING_REPORT.md` (this file)

Historical audit **filenames** (e.g. `ULTIMATE_SYSTEM_AUDIT_REPORT.md`) were not renamed per initiative guidelines.

### Build Artifacts

- `public/build/**` — regenerated via `npm run build`
- `storage/framework/views/**` — cleared via `php artisan view:clear`

---

## Surfaces Verified (Phase 10)

| Surface | Status | Mechanism |
|---------|--------|-----------|
| Login page | ✅ | MVNexus title, tagline, description via i18n |
| Header | ✅ | `AppLogo` → `common:app.name` |
| Sidebar | ✅ | Same logo component |
| Notifications | ✅ | Lang files + notification email template |
| Emails | ✅ | All 5 Blade templates + 3 mail jobs |
| PDFs | ✅ | No hardcoded brand strings (browser print) |
| Dashboard | ✅ | Generic welcome; no Help Desk branding |
| Browser title | ✅ | `DocumentHead` + `app.blade.php` |
| Footer | ✅ | Email layout copyright + subtitle |

---

## Screenshots / Visual Assets Impacted

| Asset / Screen | Impact |
|----------------|--------|
| Login page | Brand name, tagline, description text |
| App header / sidebar | Logo alt text + app name label |
| Department portal header | App name label |
| Magic link / invite / accept pages | App name in branding block |
| Onboarding wizard | Welcome title slides |
| Email templates (all types) | Header, body references, footer |
| Browser tab | Page title + favicon (same SVG asset) |
| OG / social preview | Title + description meta tags |

**Note:** Logo SVG file remains at `/mvhelpdesk.svg` for URL compatibility. Alt text now reads "MVNexus logo".

---

## Remaining Legacy References (Intentional)

These are **internal/infra identifiers**, not user-facing branding:

| Reference | Location | Notes |
|-----------|----------|-------|
| `/mvhelpdesk.svg` | Public asset URL | Preserved — no URL change |
| `service: mvhelpdesk` | HealthController, ops-check | API/ops identifier |
| `mvhelpdesk:ops-check` | Artisan command | Ops tooling |
| `helpdesk_ticket` | WorkType enum | Domain model |
| `mvhelpdesk.local` | vite.config.js, test URLs | Dev hostname |
| `mvhelpdesk-session` | Playwright auth fixture | Session cookie name |
| `mvhelpdesk-queue` | EMAIL_NOTIFICATIONS_SETUP.md | Supervisor program name |
| Workspace path `MVHelpDesk` | Filesystem | Not rebranded |
| Database name `mvhelpdesk` | .env / MySQL | Infrastructure |

---

## QA Search Results

Post-rebrand grep across `app/`, `resources/`, `lang/`, `tests/`, `config/`, `README.md`, `.env.example`:

```
MVHelpDesk | Mountain View HelpDesk | Internal IT Support → 0 matches
```

**Target met:** Zero user-facing references to MVHelpDesk in application source.

---

## Deployment Notes

1. Set `APP_NAME=MVNexus` and `MAIL_FROM_NAME="MVNexus"` in production `.env`
2. Run `npm run build` to publish updated frontend bundles
3. Run `php artisan view:clear` to refresh compiled email templates
4. Existing `app_name` / `mail_from_name` settings in DB may override defaults — update via Admin → Settings if previously customized
5. No migration, route, or API changes required

---

## Success Criteria Assessment

| Criterion | Met |
|-----------|-----|
| Platform feels like MVNexus on login | ✅ |
| Enterprise Work Management positioning | ✅ |
| Complete and consistent rebrand | ✅ |
| Non-breaking (URLs, APIs, permissions) | ✅ |
| 0 user-facing MVHelpDesk references | ✅ |

**Rebrand status: COMPLETE**
