π A modern boilerplate for building scalable React applications with Vite, TypeScript, Atomic Design principles, and TailwindCSS v4.
This template provides a clean structure, utility-first styling with the latest Tailwind features, and best practices for reusable UI components.
- β‘ Vite β Blazing-fast dev server & build
- π‘ TypeScript β Strong typing for maintainability
- π§© Atomic Design β Scalable UI architecture
- π¨ TailwindCSS v4 β Zero-config, utility-first styling
- β Pre-configured ESLint & Prettier
src/
βββ assets/ # Static assets (images, fonts, etc.)
βββ components/ # Atomic Design layers
β βββ atoms/ # Smallest building blocks (buttons, inputs, labels)
β βββ molecules/ # Groups of atoms (form fields, cards)
β βββ organisms/ # Complex UI sections (headers, navbars, sidebars)
β βββ templates/ # Page-level layouts
β βββ pages/ # Route-level views
βββ hooks/ # Custom React hooks
βββ utils/ # Utility functions & helpers
βββ models/ # TypeScript model definitions
βββ App.tsx # Root component
βββ main.tsx # Application entry1. Clone the repository
git clone https://github.com/khanhnm222/react-atomic-design.git
cd react-atomic-design
2. Install dependencies
npm install
# or
yarn install
3. Start development server
npm run dev
# or
yarn dev
Your app will be running at: http://localhost:5173
-
npm run devβ Start development server with HMR -
npm run buildβ Build the app for production -
npm run previewβ Preview production build locally -
npm run lintβ Run ESLint checks
-
Atoms β Small, independent UI components (e.g., Button, Input).
-
Molecules β Groups of atoms working together (e.g., FormField).
-
Organisms β Complex UI sections combining molecules (e.g., Header, CardList).
-
Templates β Page-level layouts with placeholders.
-
Pages β Final screens composed of templates & organisms.
-
React β UI Library
-
Vite β Next-gen frontend tooling
-
TypeScript β Static typing
-
TailwindCSS v4 β Utility-first styling (zero config)
-
ESLint & Prettier β Code quality & formatting
This project is licensed under the MIT License. Feel free to use, modify, and share it in your own projects.
Pull requests are welcome! For major changes, please open an issue first to discuss what youβd like to change.