← Back to Work
Headless WP

WC GraphQL Member Dashboard

Next.js 14TypeScriptWPGraphQLNextAuth.jsCSS Modules
Membership Dashboard.

01 The Challenge

Modern WordPress projects increasingly require decoupled architectures where the frontend is built with Next.js while WordPress handles the backend via GraphQL. The native WPGraphQL plugin exposes the WordPress schema but lacks custom member data, activity tracking, and notification systems out of the box. Clients needed a production-ready headless solution demonstrating custom schema extension, secure JWT authentication, and a fully functional member dashboard — without relying on meta sprawl or third-party membership plugins.

02 The Solution

Built a custom WordPress plugin that extends WPGraphQL with five new types — MemberProfile, MemberActivity, MemberNotification, MemberSettings, and MemberStats — backed by two custom database tables with proper indexing. Implemented a Data Access Layer separating all SQL from resolver logic, and four GraphQL mutations with input sanitization and automatic activity logging. Developed a Next.js 14 frontend using App Router with NextAuth.js for JWT session management, CSS Modules for styling, and graphql-request as the GraphQL client. WordPress plugin deployed on Hostinger, frontend deployed to Vercel with automatic deployments from GitHub. Plugin repository available at https://github.com/dilipraghavan/wc-graphql-member-dashboard

03 Impact & Results

Full end-to-end GraphQL API with five custom types and four mutations resolving in under 100ms. Clean DAL architecture makes the plugin fully extensible — new data sources can be added without touching resolver logic. JWT authentication flow works seamlessly across WordPress and Next.js with zero session state on the server.

// project links

GitHub Repo

// video demo

// gallery

Login Page.
click to enlarge

Login Page.

Member Dashboard Overview.
click to enlarge

Member Dashboard Overview.

Profile Editor.
click to enlarge

Profile Editor.

Notifications Feed.
click to enlarge

Notifications Feed.