Technology Stack
The frontend leverages cutting-edge technologies for optimal performance and developer experience:React 19
Latest React version with improved concurrent rendering and automatic batching
TypeScript
Full type safety across the entire application
Vite
Lightning-fast build tool with Hot Module Replacement (HMR)
Tailwind CSS 4
Utility-first CSS framework for rapid UI development
Core Dependencies
package.json
Architecture Overview
The application follows a feature-based architecture with clear separation of concerns:Key Features
Authentication & Authorization
- JWT-based authentication with HTTP-only cookies
- Protected routes with automatic redirects
- Context-based auth state management
- Session persistence and automatic token refresh
State Management
The application uses a hybrid approach:- React Context: Global auth state and user information
- TanStack Query: Server state management, caching, and data fetching
- Component State: Local UI state with React hooks
Responsive Design
Fully responsive interface that works seamlessly across:- Desktop (1024px+)
- Tablet (768px - 1023px)
- Mobile (320px - 767px)
Performance Optimizations
- Code splitting with React lazy loading
- Automatic caching with TanStack Query
- Optimistic UI updates for better UX
- Debounced search inputs
- Efficient re-rendering with React 19’s automatic batching
Development Workflow
Running the Development Server
http://localhost:5173 with hot module replacement enabled.
Building for Production
dist/ directory.
Type Checking
Linting
Code Formatting
Environment Variables
Create a.env file in the frontend root:
.env
Environment variables must be prefixed with
VITE_ to be accessible in the application.Project Configuration
Vite Configuration
Thevite.config.ts file configures:
vite.config.ts
Path Aliases
The@ alias points to the frontend root directory:
Next Steps
Setup Guide
Get your development environment ready
Component Library
Explore reusable UI components
Authentication
Learn about auth implementation
Data Fetching
Understand React Query patterns
