Skip to content

Repository files navigation

Flow Stack Client

A modern task management frontend built with React 19, TypeScript, and Vite.

Features

  • JWT authentication with auto-refresh via HttpOnly cookies
  • Role-based access control (User & Admin dashboards under a single /dashboard path)
  • Task management with CRUD, filtering, search, pagination, and inline edit dialog
  • Dashboard analytics with real-time stats for both user and admin roles
  • User management — activate/inactivate and delete users (admin only)
  • Dark/light theme with animated transitions
  • Responsive design — mobile card views via renderCard, desktop data tables
  • Type-safe throughout with TypeScript and Zod validation
  • Immediate image upload — profile images upload on file selection, not form submission

Prerequisites

  • Node.js >= 20.x
  • pnpm >= 9.x

Environment Variables

Create a .env file in the root directory:

VITE_API_BASE_URL=http://localhost:8000/api/v1VITE_IMGBB_API_KEY=your_imgbb_api_key
VariableDescription
VITE_API_BASE_URLBackend API base URL

Getting Started

1. Install Dependencies

pnpm install

2. Start Development Server

pnpm dev

The app will start at http://localhost:3000.

3. Build for Production

pnpm build
pnpm preview

Project Structure

flow-stack-client/
├── src/
│ ├── components/ # UI components (shared + ui/)
│ ├── hooks/ # Shared custom hooks
│ ├── layouts/ # Page layout wrappers
│ ├── lib/ # Axios config, utilities
│ ├── pages/ # All page components (route endpoints)
│ ├── providers/ # Context providers (theme, query, sonner)
│ ├── routes/ # Routing config and auth guards
│ ├── services/ # API service functions
│ ├── stores/ # Zustand stores
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Standalone utility functions
│ └── validation/ # Zod validation schemas
├── public/ # Static assets (favicon, icons)
├── AGENTS.md # Architecture guide
└── README.md # This file

Tech Stack

TechnologyPurpose
React 19UI framework
TypeScript 6Type safety
Vite 8Build tool
Tailwind CSS v4Styling
shadcn/uiComponent library
Ark UIHeadless primitives (Tabs, Field, etc.)
Base UIHeadless primitives (Dialog, Dropdown, ScrollArea, etc.)
TanStack QueryServer state (tasks, users)
ZustandClient state (auth, dashboard, filters)
React Hook Form + ZodForms & validation
AxiosHTTP client
sonnerToast notifications
React Router v8Routing
next-themesTheme switching
MotionAnimation library (home page)

Scripts

pnpm dev # Start dev server (port 3000)
pnpm build # Type-check + production build
pnpm lint # Run ESLint
pnpm preview # Preview production build

Architecture

This project follows Folder-Per-Concern Architecture with flat directories for pages, services, hooks, and validation. Shared UI components live in components/shared/. Pre-built primitives live in components/ui/ (do not modify).

For architecture details, see AGENTS.md.

About

A modern task management frontend built with React 19, TypeScript, and Vite.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages