This is the frontend application for ProactivePulse AI, built with Next.js 14, TypeScript, and Tailwind CSS.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Custom component library with AWS-inspired design
- Data Fetching: SWR (Stale-While-Revalidate)
- HTTP Client: Axios
- State Management: React Context API
- Icons: Heroicons
- Forms: React Hook Form + Zod
- Charts: Recharts
- Notifications: React Hot Toast
app/ # Next.js app router pages
├── insights/ # Insights list and detail pages
├── analysis/ # Analysis control and history pages
├── settings/ # System settings page
├── layout.tsx # Root layout
└── page.tsx # Dashboard page
components/ # Reusable UI components
├── dashboard/ # Dashboard-specific components
├── layout/ # Layout components (header, sidebar, etc.)
├── shared/ # Shared UI components (buttons, cards, etc.)
└── index.ts # Component exports
src/
├── lib/ # Business logic and utilities
│ ├── api/ # API clients
│ ├── hooks/ # Custom React hooks
│ ├── types/ # TypeScript types
│ ├── utils/ # Utility functions
│ └── context/ # React context providers
└── styles/ # Global styles and Tailwind config
public/ # Static assets
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
Create a .env.local file in the frontend directory with the following variables:
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_APP_NAME=ProactivePulse AI
NEXT_PUBLIC_ENVIRONMENT=local- Follow the AWS Console-inspired design system
- Use the provided color palette and typography
- Implement responsive design for all components
- Ensure accessibility compliance (WCAG 2.1 AA)
- Use TypeScript for type safety
- Use SWR hooks for data fetching and caching
- Implement proper loading and error states
- Handle pagination and filtering on list pages
- Use optimistic updates where appropriate
- Use Tailwind CSS utility classes
- Follow the established design system
- Implement both light and dark themes
- Use consistent spacing and typography
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
The frontend can be deployed as a standalone Next.js application or as a static export.
For static export:
npm run build && npm run exportThe static files will be generated in the out directory.