Folder Structure

The folder structure is simple and easy to understand. You will find the following folders/files in CRA-SSR:-

1. public

This folder contains the public assets and JavaScript used for rendering of Applications on the browser.‌

2. server

This folder contains the server related code, it's responsible for SSR.‌ Our server is comprised of three files:

  • index.js (which sets up Babel)

  • server.js (which starts the Express server)

  • loader.js (which is called on every page load to get the right data and render the right route)

2. src

The src contains the code of all the pages in the Crema. This folder is the heart of this project. This is the folder where the magic happens. Basically, this is the folder in which the user do all the work. The src folder structure is as follows:-‌

  • @crema

    • core

      It contains all the general and common components that are used throughout the template.

    • services

      It contains database and authentication service providers settings and other data and files related to fake APIs.

    • utility

      It contains files all the important files related to the template.

  • assets

    This folder contains all the images and other raw materials used in the template.

  • routes

    All the code related to all routes like dashboard, apps and other pages lies in this folder. We have kept the folder structure very simple and easy to understand by breaking the folders into sub-folders and following proper naming. For example, modules folder contain a folder named 'dashboard' which contains all the files related to dashboard, similarly, a folder named 'apps' contains all the code related to apps included in the template.

  • redux As the name suggests, this folder contains the global state management related files. This folder is divided into three subfolders viz. actions, reducers, and store.

  • shared

    This folder contains the helping files. It contains language files, constants that are used in Redux and style-related files.

Last updated