Created
December 27, 2025 19:02
-
-
Save avinashtare/8dc6fb79e254619adc4bfbf7795b72c4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # React Production Level Folder Stracture | |
| react-production/ | |
| │ | |
| ├── .git/ # Git version control data | |
| │ | |
| ├── .husky/ # Git hooks (run before commit/push) | |
| │ ├── commit-msg # Enforces commit message rules | |
| │ └── pre-commit # Runs checks before commit | |
| │ | |
| ├── node_modules/ # Installed dependencies (auto-generated) | |
| │ | |
| ├── public/ | |
| │ └── index.html # Main HTML file (Vite entry) | |
| │ | |
| ├── src/ # Application source code | |
| │ │ | |
| │ ├── app/ # App-level setup (wiring only) | |
| │ │ ├── config/ | |
| │ │ │ └── app.config.ts # Global app configuration | |
| │ │ │ | |
| │ │ ├── providers/ | |
| │ │ │ └── StateProvider.tsx # Wraps global state provider | |
| │ │ │ | |
| │ │ ├── router/ | |
| │ │ │ ├── routes.tsx # Route definitions | |
| │ │ │ └── index.tsx # Router setup | |
| │ │ │ | |
| │ │ ├── store/ | |
| │ │ │ ├── rootState.ts # Combines all feature states | |
| │ │ │ └── index.ts # Store initialization | |
| │ │ │ | |
| │ │ └── App.tsx # Root React component | |
| │ │ | |
| │ ├── modules/ # Business features (domains) | |
| │ │ │ | |
| │ │ ├── auth/ # Authentication feature | |
| │ │ │ ├── domain/ # Business logic & types (pure) | |
| │ │ │ │ ├── auth.entity.ts# Auth business model | |
| │ │ │ │ └── auth.types.ts # Auth-related types | |
| │ │ │ │ | |
| │ │ │ ├── data/ # Data & state handling | |
| │ │ │ │ ├── state/ # Feature state (Redux internally) | |
| │ │ │ │ │ ├── auth.state.ts # Auth state shape | |
| │ │ │ │ │ ├── auth.actions.ts # Auth actions/events | |
| │ │ │ │ │ └── auth.effects.ts # Async logic (API calls) | |
| │ │ │ │ │ | |
| │ │ │ │ └── selectors/ | |
| │ │ │ │ └── auth.selectors.ts # Read data from state | |
| │ │ │ │ | |
| │ │ │ ├── ui/ # UI related to auth | |
| │ │ │ │ ├── components/ | |
| │ │ │ │ │ ├── LoginForm.tsx # Login form component | |
| │ │ │ │ │ └── LogoutButton.tsx # Logout button | |
| │ │ │ │ │ | |
| │ │ │ │ └── pages/ | |
| │ │ │ │ └── LoginPage.tsx # Login page | |
| │ │ │ │ | |
| │ │ │ ├── validation/ | |
| │ │ │ │ └── login.schema.ts # Form validation rules | |
| │ │ │ │ | |
| │ │ │ └── index.ts # Public API of auth module | |
| │ │ │ | |
| │ │ └── users/ # Users feature | |
| │ │ ├── domain/ | |
| │ │ │ └── user.types.ts # User types | |
| │ │ │ | |
| │ │ ├── data/ | |
| │ │ │ ├── state/ | |
| │ │ │ │ ├── users.state.ts # Users state | |
| │ │ │ │ └── users.actions.ts # Users actions | |
| │ │ │ │ | |
| │ │ │ └── selectors/ | |
| │ │ │ └── users.selectors.ts | |
| │ │ │ | |
| │ │ ├── ui/ | |
| │ │ │ └── pages/ | |
| │ │ │ └── UsersPage.tsx # Users page | |
| │ │ │ | |
| │ │ └── index.ts | |
| │ │ | |
| │ ├── shared/ # Reusable, stateless code | |
| │ │ ├── ui/ # Design system components | |
| │ │ │ ├── Button/ | |
| │ │ │ │ ├── Button.tsx | |
| │ │ │ │ └── Button.styles.ts | |
| │ │ │ │ | |
| │ │ │ └── Modal/ | |
| │ │ │ └── Modal.tsx | |
| │ │ │ | |
| │ │ ├── hooks/ | |
| │ │ │ └── useDebounce.ts # Reusable hook | |
| │ │ │ | |
| │ │ ├── utils/ | |
| │ │ │ └── date.util.ts # Helper functions | |
| │ │ │ | |
| │ │ ├── constants/ | |
| │ │ │ └── routes.ts # Route constants | |
| │ │ │ | |
| │ │ ├── types/ | |
| │ │ │ └── common.types.ts # Shared types | |
| │ │ │ | |
| │ │ └── assets/ | |
| │ │ ├── images/ # Images | |
| │ │ ├── icons/ # Icons | |
| │ │ └── styles/ # Global styles | |
| │ │ | |
| │ ├── infrastructure/ # Low-level technical services | |
| │ │ ├── http/ | |
| │ │ │ ├── apiClient.ts # HTTP client setup | |
| │ │ │ └── interceptors.ts # Request/response interceptors | |
| │ │ │ | |
| │ │ └── storage/ | |
| │ │ └── localStorage.service.ts # Browser storage | |
| │ │ | |
| │ ├── locales/ # Translations (i18n) | |
| │ │ ├── en.json | |
| │ │ └── hi.json | |
| │ │ | |
| │ ├── main.tsx # App entry point | |
| │ └── index.css # Global CSS | |
| │ | |
| ├── tests/ # Application tests | |
| │ ├── unit/ # Unit tests | |
| │ ├── integration/ # Integration tests | |
| │ └── e2e/ # End-to-end tests | |
| │ | |
| ├── .env # Local environment variables | |
| ├── .env.example # Example env file | |
| ├── .env.production # Production env variables | |
| │ | |
| ├── .gitignore # Files ignored by Git | |
| ├── .prettierrc # Code formatting rules | |
| ├── commitlint.config.js # Commit message rules | |
| ├── eslint.config.js # Linting configuration | |
| ├── Dockerfile # Docker build instructions | |
| ├── package.json # Project metadata & scripts | |
| ├── package-lock.json # Dependency lock file | |
| ├── tsconfig.json # Base TypeScript config | |
| ├── tsconfig.app.json # App-specific TS config | |
| ├── tsconfig.node.json # Node-specific TS config | |
| ├── vite.config.js # Vite configuration | |
| ├── yarn.lock # Yarn dependency lock | |
| └── README.md # Project documentation |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment