How manish166/authnext works
This is a Next.js authentication application: users open sign-in or sign-up UI, submit credentials or registration details, and receive a profile or session token through server actions backed by Clerk. The source also shows separate authorized and unauthorized layouts and an authorized home page. Validation and error conversion form an internal server-action layer. Form submission wiring and page behavior are not fully sampled, so those links are omitted; the Prisma schema is present, but the sampled auth service uses Clerk rather than Prisma.
Main entry points: authService.ts Auth service · auth.ts Auth actions · ModalManager.tsx Modal manager · layout.tsx Public layout
Components 16
User experience
- Public layout
src/app/(unAuthorised)/layout.tsx - Authorized layout
src/app/(authorised)/layout.tsx - Home page
src/app/(authorised)/home/page.tsx - Auth forms
src/app/components/molecules/SignInForm.tsx - Modal manager
src/app/components/molecules/ModalManager.tsx - Modal state
src/app/store/useAuthModalStore.ts - Root layout
src/app/layout.tsx
Server actions
- Auth actions
src/app/actions/auth.ts - Input validation
src/validationSchemas.ts - Error conversion
src/app/lib/errorHandler.ts
Authentication service
- Auth service
src/bff/auth/authService.ts - Auth contracts
src/bff/auth/authInterface.ts
Other components
- Visitor
- Clerk identity
- User profile
- Session token
Connections 12
- Visitor → Public layout: opens app
- Public layout → Root layout: renders within
- Root layout → Modal manager: renders
- Modal manager → Modal state: reads state
- Modal manager → Auth forms: renders by view
- Authorized layout → Home page: wraps page
- Auth actions → Input validation: validates input
- Auth actions → Auth service: invokes
- Auth actions → Error conversion: converts errors
- Auth service → Clerk identity: manages identity
- Auth service → User profile: returns profile
- Auth service → Session token: returns token