ReactJS application with intermediate folder structure.
- Structure:
src/
├─ assets/
│ ├─ fonts/
│ ├─ images/
│ ├─ videos/
├─ components/
├─ config/
├─ containers/
├─ context/
├─ hooks/
├─ helpers/
├─ i18n/
│ ├─ en/
│ ├─ fr/
│ ├─ ar/
├─ layouts/
├─ pages/
├─ services/
├─ validations/
Our focus will be in the src folder where we’re going to structure our folders.
- Here we group all of our media files. I personally prefer to create subfolders such as Images, Icons, Videos, Audios etc....
- You might want to put all of the components in one place, but you better break it into 2 folders. (Components & Containers).
- This folder contains all of our application presentational components (Stateless Components).
- In this folder we have the Stateful components (Smart component) where we keep tracking the state.
- In this file we group all constants like regex.
- Here we create and export functions that will be re-used in different places in our application.
- A folder made for customized hooks.
- It contains layout files such as Navbar, Footer, Sidebar . Layouts are used to wrap a specific components.
- This folder contains pages components like Home, Contact etc...
- Each page wrapped with a specific Layout
- Here we write our form validation and rules using a library like Formik .
- In this folder we manage all of the API requests by creating files for each service.
- This folder contains all the context files where we manage and globalize the state in our application such as theming styles.
- All of our application configuration will be here in this folder.
- This folder is made for multi-language support.
- You can create subfolders with a JSON file for each language you want to translate.
- Take a look to their Step by Step guide HERE.
- By adding Eslint & Prettier to your project it will give you :
- A nice linting environment.
- Correct bad coding practices.
- Make your code clean and consistent.