All work

점주로

Improving consumer features and admin workflows in one team codebase

Context
Team project
Scope
Notification and refresh BFF, admin search and moderation, shared UI, editor, and consumer rendering
Stack
Next.js, React, TypeScript, TanStack Query, pnpm workspace, Turborepo, Storybook, Biome, Vitest, GitHub Actions, Vercel, Cloudflare OpenNext

Consumer and admin features were growing together

Jeomjuro is a collaborative community product for current and future store owners. Consumer and admin apps share a monorepo, so authentication, notifications, shared components, and moderation need consistent boundaries.

My work covered the request path for notification and token refresh, admin search state, article editing, and consumer rendering and session behavior.

Connect product behavior across requests, state, and UI

Notification and refresh request boundaries

I introduced Next.js Route Handler proxies for notifications and token refresh, forwarding authentication cookies and Authorization and reflecting upstream Set-Cookie responses.

A same-origin proxy handles the browser EventSource constraint on custom authentication headers. This introduced the boundary where it was needed while preserving the existing API integration.

Admin search and moderation

I connected user, post, and comment search with comment deletion and restoration. Draft search input is separate from the applied query, and changing filters resets pagination.

The changes reject invalid post IDs, refresh related lists after actions, and expand shared UI and Storybook examples. I also aligned CI and Storybook workflows with pnpm.

Rich article editing

I replaced Markdown input with a Tiptap editor supporting formatting, links, colors, and image upload. Popovers close on outside interaction or Escape, while rendered content uses permitted color forms and sanitization.

Consumer rendering and session order

I reduced work on public routes and initial home hydration and corrected ad-banner hydration behavior. Logout keeps the token needed by the server request until that request settles, then clears the client session. This keeps the visible state aligned with the authentication operation.

Changes delivered through consumer and admin deployments

The notification and refresh BFF and admin improvements moved from develop into main and were included in successful production deployments of both apps. Consumer rendering and logout changes are also present in that deployed code.

I subsequently extended article editing and shared UI examples. Working alongside the team’s social-login and deployment foundation, I improved both the consumer experience and the tools used to operate it.

Trace

BFF
Notification and token refresh routesIncluded in production code
Admin
Search, deletion, restoration, and stateConsumer and admin deployment history
Editor
Tiptap writing experience