Skip to main content

Frontend Overview

NestForge Pro ships a complete React frontend that covers auth, dashboard, billing, team management, settings, and admin.

Tech stack

ToolVersionPurpose
React19UI library
Vite6Build tool and dev server
React Router7Client-side routing
TanStack Query5Server state management
Tailwind CSS4Utility-first styling
shadcn/uilatestPre-built accessible components

Pages

RoutePageDescription
/LandingConversion-optimized marketing page with pricing
/loginLoginEmail/password and Google OAuth
/registerRegisterAccount creation
/forgot-passwordForgot passwordPassword reset flow
/dashboardDashboardUser home with quick stats
/billingBillingSubscription management, plan upgrades
/teamsTeamsCreate/manage teams, invite members
/settingsSettingsProfile, password, notifications
/adminAdminUser list, metrics, impersonation (admin only)

Project structure

apps/web/src/
pages/
landing/ # Marketing landing page
auth/ # Login, register, forgot password
dashboard/ # User dashboard
billing/ # Subscription management
settings/ # User/team settings
admin/ # Admin panel
components/
ui/ # shadcn/ui components
layout/ # Sidebar, header, footer
shared/ # Shared components
lib/
api.ts # Typed fetch wrapper
auth.tsx # Auth context and hooks
utils.ts # Utility functions
hooks/ # TanStack Query hooks
styles/ # Global styles and Tailwind config

Theme

The frontend uses OKLch color tokens for perceptually uniform light and dark modes. Toggle between them with the theme switcher in the header.

Design language: clean and professional, inspired by Linear and Revolut. No glassmorphism, no backdrop-blur. Desktop-first layout with full mobile responsiveness.

shadcn/ui components

15 components are pre-installed and ready to use:

  • Button, Input, Label, Textarea
  • Card, Dialog, Sheet
  • Table, Tabs
  • Select, Checkbox, Switch
  • Avatar, Badge, Separator

Add more components with:

npx shadcn@latest add [component-name]

Development

Start the frontend dev server:

cd apps/web
npm run dev

The Vite dev server runs on http://localhost:3000 and proxies /api requests to http://localhost:4000 (the NestJS backend).