A modern, full-stack React application built with TypeScript and a comprehensive UI component library. This project provides a solid foundation for building sophisticated web applications with a focus on accessibility, performance, and developer experience.
- React 18.3.1 - Modern React with hooks and concurrent features
- TypeScript 5.8.3 - Type-safe JavaScript for better development experience
- Vite 5.4.19 - Lightning-fast build tool and development server
- React Router DOM 6.30.1 - Declarative routing for React applications
- Tailwind CSS 3.4.17 - Utility-first CSS framework
- shadcn/ui - Beautiful, accessible component library
- Radix UI - Unstyled, accessible UI primitives
- Lucide React - Beautiful & consistent icon toolkit
- next-themes - Theme switching with system preference support
- TanStack React Query 5.83.0 - Powerful data synchronization for React
- React Hook Form 7.61.1 - Performant, flexible forms with easy validation
- Zod 3.25.76 - TypeScript-first schema validation
- ESLint - Code linting with TypeScript support
- PostCSS - CSS processing with Autoprefixer
- 🎨 Comprehensive UI Library - 40+ pre-built, accessible components
- 🌙 Dark/Light Mode - Built-in theme switching with system preference detection
- 📱 Responsive Design - Mobile-first approach with Tailwind CSS
- 🎯 Type Safety - Full TypeScript support throughout the application
- ⚡ Performance Optimized - Vite for fast builds and hot module replacement
- 🧪 Form Handling - Advanced form management with validation
- 🔔 Toast Notifications - User feedback with Sonner and shadcn/ui toasts
- 📊 Data Visualization - Recharts integration for charts and graphs
- 🎛️ State Management - React Query for server state synchronization
src/
├── components/
│ └── ui/ # shadcn/ui component library
│ ├── button.tsx
│ ├── card.tsx
│ ├── dialog.tsx
│ └── ... (40+ components)
├── hooks/ # Custom React hooks
│ ├── use-mobile.tsx
│ └── use-toast.ts
├── lib/ # Utility functions
│ └── utils.ts
├── pages/ # Route components
│ ├── Index.tsx # Home page
│ └── NotFound.tsx # 404 page
├── App.tsx # Main application component
├── main.tsx # Application entry point
└── index.css # Global styles and design system
- Node.js 18+
- npm, yarn, or bun
-
Clone the repository
git clone https://github.com/Psybah/react-vite-starter-template cd react-vite-starter-template -
Install dependencies
npm install # or yarn install # or bun install
-
Start the development server
npm run dev # or yarn dev # or bun dev
-
Open your browser Navigate to
http://localhost:8080to view the application.
npm run dev- Start development servernpm run build- Build for productionnpm run build:dev- Build for developmentnpm run preview- Preview production buildnpm run lint- Run ESLint
This project includes a comprehensive set of accessible UI components built with shadcn/ui and Radix UI:
- Sidebar, Navigation Menu, Breadcrumb, Tabs, Accordion
- Input, Textarea, Select, Checkbox, Radio Group, Switch, Slider, Date Picker
- Table, Card, Badge, Avatar, Progress, Charts (Recharts)
- Alert, Toast, Dialog, Sheet, Drawer, Popover, Tooltip, Hover Card
- Button, Toggle, Command Palette, Calendar, Carousel, Pagination
- Use TypeScript for all components
- Follow the established component patterns
- Leverage the design system defined in
src/index.css - Use Tailwind CSS for styling
- Use React Query for server state
- Use React Hook Form for form state
- Use React's built-in state for local component state
- Follow the HSL color system defined in CSS variables
- Use Tailwind utility classes
- Maintain consistency with the design system
The project uses a custom Tailwind configuration with:
- CSS variables for theming
- Custom color palette
- Responsive breakpoints
- Animation utilities
- Strict type checking enabled
- Path aliases configured (
@/*maps tosrc/*) - Optimized for development experience
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you have any questions or need help getting started, please open an issue or reach out to me abiodunoluwamurewa@gmail.com
Built with by me out of boredom.