Intern frontend-only adminpanel byggd med Next.js 15, React 19, TypeScript och Tailwind CSS.
Projektet är nu strukturerat som en modulär plattform där admin-panelen är produkten, och enskilda system lever som moduler ovanpå ett gemensamt shell. JetWP är en av dessa moduler och fungerar som kontrollpanel för ett Managed WordPress-projekt.
Admin Hub är tänkt som en personlig och verksamhetsmässig hub för flera typer av arbetsytor och verktyg, till exempel:
- JetWP för Managed WordPress-drift
- domänhantering och portföljöversikt
- manuell fakturering
- användar- och inställningsytor
- framtida moduler som kalender, todo, abonnemang, nyhetsflöden och konverterare
Fokus i repot är just nu frontend, informationsarkitektur och modulär produktstruktur. Data är fortfarande mockad i TypeScript-filer och det finns ingen backend, databas eller auth-kedja kopplad ännu.
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- Lucide React
- Node.js 18+ rekommenderas
- npm
npm installnpm run devAppen kör normalt på:
http://localhost:3000
npm run buildnpm run startnpm run typechecknpm run devstartar Next.js i utvecklingslägenpm run buildbygger appen för produktionnpm run startstartar den byggda appennpm run typecheckkör TypeScript utan emit
Projektet är uppdelat i tre huvudsakliga lager:
appApp Router och tunna route-wrappers.modulesFaktisk featurekod per modul.componentsDelat shell och återanvändbara UI-primitives.
Det innebär att src/app/(admin) i första hand innehåller routing och layout, medan sidor och modul-logik ligger under src/modules/....
src/
app/
(admin)/ Routinglager för admin-panelen
login/ Inloggning
register/ Registrering
forgot-password/ Glömt lösenord
config/
navigation.ts Central navigation och command palette-data
components/
charts/ Diagram och visualiseringar
command/ Command palette
layout/ Sidebar, topbar, page header
theme/ Tema och dark/light mode
toast/ Toast-system
ui/ Återanvändbara UI-komponenter
modules/
hub/ Global startsida och hubbrelaterade vyer
jetwp/ Managed WordPress-modul
domains/ Domänmodul
billing/ Faktureringsmodul
workspace/
users/ Användarmodul
settings/ Inställningsmodul
registry.ts Modulregister
types.ts Gemensamma modul- och nav-typer
Global startsida för hela admin-panelen. Visar modulöversikt, områden och tvärmodulär aktivitet.
Viktig fil:
src/modules/hub/pages/HubHomePage.tsx
Den mest omfattande modulen i projektet just nu. JetWP fungerar som kontrollpanel för Managed WordPress och innehåller bland annat:
- översikt för hela flottan
- sajtlistor och detaljvyer
- jobb och jobbdetaljer
- alerts, aktivitet och serverhälsa
- inventory, notifications, integrations och reports
- backups, staging, onboarding, workflows, agents, access och bulk update
JetWP är nu strukturerad som en riktig modul under:
src/modules/jetwp
Route-filer under src/app/(admin)/jetwp/... är i huvudsak bara wrappers som pekar vidare till modulfilerna.
Viktiga filer:
src/modules/jetwp/page.tsxsrc/modules/jetwp/[id]/page.tsxsrc/modules/jetwp/data/core.tssrc/modules/jetwp/fleet/core.tssrc/modules/jetwp/extended-data/core.tssrc/modules/jetwp/workflow/templates-core.ts
Valideringsmodul för domänhantering, portfölj och operativ status.
Viktiga filer:
src/modules/domains/index.tssrc/modules/domains/pages/DomainsPage.tsx
Valideringsmodul för manuell fakturering och överblick över fakturaflöden.
Viktiga filer:
src/modules/billing/index.tssrc/modules/billing/pages/BillingPage.tsx
Gemensamma interna arbetsytor för användare och inställningar.
Viktiga filer:
src/modules/workspace/users/pages/UsersPage.tsxsrc/modules/workspace/settings/pages/SettingsPage.tsx
Admin-panelen använder ett gemensamt plattformsshell:
src/app/(admin)/layout.tsxsrc/components/layout/Sidebar.tsxsrc/components/layout/Topbar.tsxsrc/components/command/CommandPalette.tsx
Navigation, modulhighlight och command palette-data definieras centralt i:
src/config/navigation.tssrc/modules/registry.ts
Det gör att nya moduler kan läggas till i plattformen utan att sidebar och command palette behöver hårdkodas separat.
Projektet använder just nu:
- klienttunga React-komponenter
- mockad data i TypeScript-filer
- gemensamma UI-primitives i
src/components/ui - frontend-only-flöden utan riktig persistens
Det finns i nuläget:
- ingen databas
- ingen backend/API-layer
- ingen ORM
- ingen riktig auth-kedja
- inga tester i repot
Kodbasen är nyligen plattformiserad och uppstädad:
- admin-shell och navigation är moduldrivna
- JetWP är flyttad till
src/modules/jetwp - hub, domains, billing, users och settings följer modulmönstret
- textkodning och UI-text är sanerad i
src
Verifierat lokalt med:
npm run typecheck
npm run buildNaturliga nästa steg för projektet är:
- bygga fler riktiga moduler för admin-hubben
- koppla utvalda moduler till riktig backend/API
- införa persistens för exempelvis JetWP, domains och billing
- lägga till auth och behörighetsmodell
- lägga till tester för kritiska flöden
$conn = Get-NetTCPConnection -LocalPort 3000 -State Listen -ErrorAction SilentlyContinue
if ($conn) {
$processIds = $conn | Select-Object -ExpandProperty OwningProcess -Unique
foreach ($processId in $processIds) {
Stop-Process -Id $processId -Force
}
}Remove-Item -Recurse -Force .next
npm run dev