Skip to content

Latest commit

Β 

History

History
101 lines (86 loc) Β· 2.1 KB

File metadata and controls

101 lines (86 loc) Β· 2.1 KB

React Boilerplate

React Boilerplate with Vite, Redux, Axios and others.

Stack

  • React + TypeScript
  • Sass
  • Redux
  • React Query
  • Axios
  • React Router
  • PWA
  • Husky
  • Lint-Staged
  • Prettier
  • Eslint
  • Commitlint

Installation πŸš€

npm install # or yarn install

Configuration πŸ“

Copy the .env.example file to .env.local and configure the environment variables.

cp .env.example .env.local
Variable Description
VITE_API_URL API URL

Structure πŸ“

./src
β”œβ”€β”€ assets
β”‚   └── logo.svg # App logo
β”œβ”€β”€ components # Reusable components
β”‚   β”œβ”€β”€ first-loader
β”‚   β”‚   β”œβ”€β”€ first-loader.module.scss
β”‚   β”‚   └── index.tsx
β”‚   └── logo
β”‚       β”œβ”€β”€ index.tsx
β”‚       └── logo.module.scss
β”œβ”€β”€ hooks # Custom hooks
β”‚   β”œβ”€β”€ useAppDispatch.ts
β”‚   └── useAppSelector.ts
β”œβ”€β”€ http
β”‚   └── http.ts # Axios instance
β”œβ”€β”€ index.css
β”œβ”€β”€ layouts # Layouts
β”‚   β”œβ”€β”€ admin # Admin layout (access by /admin)
β”‚   β”‚   └── index.tsx
β”‚   β”œβ”€β”€ default # Default layout (wraps all pages)
β”‚   β”‚   └── index.tsx
β”‚   └── user # User layout (access by /user)
β”‚       └── index.tsx
β”œβ”€β”€ main.tsx
β”œβ”€β”€ models # API models
β”‚   β”œβ”€β”€ Base.ts # Base model
β”‚   └── User.ts # Example user model (extends from Base)
β”œβ”€β”€ pages # Pages
β”‚   β”œβ”€β”€ admin # Admin pages
β”‚   β”‚   └── index.tsx
β”‚   └── user # User pages
β”‚       └── index.tsx
β”œβ”€β”€ router
β”‚   β”œβ”€β”€ admin.ts
β”‚   β”œβ”€β”€ index.ts
β”‚   └── user.ts
β”œβ”€β”€ services
β”‚   β”œβ”€β”€ base.service.ts
β”‚   β”œβ”€β”€ crud.service.ts
β”‚   └── token.service.ts
β”œβ”€β”€ store
β”‚   β”œβ”€β”€ index.ts
β”‚   β”œβ”€β”€ queryClient.ts
β”‚   └── user.ts
β”œβ”€β”€ utils
β”‚   β”œβ”€β”€ add.spec.ts
β”‚   └── add.ts
└── vite-env.d.ts

Run on development πŸ’»

npm run dev

Build πŸ”¨

npm run build