React makes it painless to create interactive UIs. Design simple views for each state in this application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug.

Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in TypeScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.

Files Structure

Path Description
/dist The built output. Run command yarn build to build it.
/node_modules The package.json file in the app root defines what libraries will be installed into node_modules/ when you run yarn install.
/public Folder contains all project static files. In media folder you can find all images/icons/SVGs.
/src Your app lives in the src folder. All React components, styles and everything else your app needs go here.
/src/_zeus/assets Contains the Metronic common parts: ts(Layout ts helpers), plugins(icons plugins), sass(common style structure).
/src/_zeus/helpers Contains shared utils which are used by all application modules.
/src/_zeus/partials Contains shared components which are used by all application modules.
/src/_zeus/layout
/src/_zeus/layout/core Contains Layout core logic which is based on React.Context. Also includes layout configuration file.
/src/_zeus/layout/components Contains Layout components(Layout, Header, Aside, Footer...).
/src/app
/src/app/modules Contains application lazy modules (Authorization, User profile, Errors examples...)
/src/app/pages Contains application pages (Dashboard pages, Layout Builder page...)
/src/app/App.tsx Application root component. Also contain main Routing. Application routing is based on React Routing.
/src/app/routing/AppRoutes.tsx Routes entry point.
/src/app/routing/PrivateRoutes.tsx Private routes entry point. (Pages are unavailable for unauthorized users)
/src/main.tsx The TypeScript entry point.
/src/_zeus/assets/scss/style.scss Styles entry point.
index.html The entry point to your application.
package.json A package.json file contains meta data about app or module. Most importantly, it includes the list of dependencies to install from npm when running npm install.