Overview of Project Structure ๐Ÿ—

This project is structured as a modern, decoupled web application with a sensible service-based architecture.

Core Files

Physically, the codebase is structured in three main directories:

  • src - Contains the core frontend files.
  • server - Contains the core backend files.
  • email - Contains all the relevant email template files.

Take a deeper dive into the project structure.

Project Tree

.
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ config.env
โ”œโ”€โ”€ emails
โ”‚ย ย  โ”œโ”€โ”€ Ordered
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ html.hbs
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ subject.hbs
โ”‚ย ย  โ”œโ”€โ”€ Processed
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ html.hbs
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ subject.hbs
โ”‚ย ย  โ”œโ”€โ”€ Received
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ html.hbs
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ subject.hbs
โ”‚ย ย  โ””โ”€โ”€ Shipped
โ”‚ย ย      โ”œโ”€โ”€ html.hbs
โ”‚ย ย      โ””โ”€โ”€ subject.hbs
โ”œโ”€โ”€ public
โ”‚ย ย  โ”œโ”€โ”€ assets
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ // folders for images assets go here
โ”‚ย ย  โ”œโ”€โ”€ favicon.png
โ”‚ย ย  โ””โ”€โ”€ index.html
โ”œโ”€โ”€ server
โ”‚ย ย  โ”œโ”€โ”€ admin.js
โ”‚ย ย  โ”œโ”€โ”€ config.js
โ”‚ย ย  โ”œโ”€โ”€ index.js
โ”‚ย ย  โ”œโ”€โ”€ orders.js
โ”‚ย ย  โ””โ”€โ”€ product.js
โ”œโ”€โ”€ src
โ”‚ย ย  โ”œโ”€โ”€ App.js
โ”‚ย ย  โ”œโ”€โ”€ App.test.js
โ”‚ย ย  โ”œโ”€โ”€ assets
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ store_config.json
โ”‚ย ย  โ”œโ”€โ”€ components
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Landing.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ AboutPage.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ NotFound404.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ admin
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Admin.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ AdminTable.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ Login.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ cart
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Cart.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CartSmall.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ CartTable.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ checkout
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Checkout.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CheckoutFlow.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CheckoutHeader.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Confirm.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CreditCards.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Email.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Shipping.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ShippingOptions.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ config
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ AboutPage.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ConfigPage.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ InitialConfig.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Settings.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ShippingOptions.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Theme.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ collection
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CollectionStep1.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CollectionStep2.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ AddProductToCollection.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ EditableImageList.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ product
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductStep1.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductStep2.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductStep3.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductStep4.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductAttribute.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductOptions.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ProductVariants.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ store-collections
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CollectionDisplay.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CollectionImageList.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CreateEditButtons.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CreateEditCollection.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CreateEditSteps.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ DeleteCollectionModal.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ FeaturedProducts.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ReorderCollectionsModal.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ StoreCollections.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ store-products
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ CreateEditButtons.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ CreateEditProduct.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ CreateEditSteps.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ DeleteProductModal.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ StoreProducts.js
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ product
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Collection.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CollectionList.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Product.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ProductDetails.js
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ProductList.js
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ui
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ Banner.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ BannerHamburger.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ Breadcrumb.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ Carousel.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ MobileCarousel.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ PageWrapper.js
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ ScrollToTop.js
โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ TextFieldDecimal.js
โ”‚ย ย  โ”œโ”€โ”€ data
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ reducers.js
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ store.js
โ”‚ย ย  โ”œโ”€โ”€ index.css
โ”‚ย ย  โ”œโ”€โ”€ index.js
โ”‚ย ย  โ”œโ”€โ”€ registerServiceWorker.js
โ”‚ย ย  โ”œโ”€โ”€ routes
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ Config.js
โ”‚ย ย  โ””โ”€โ”€ util.js
โ”œโ”€โ”€ package.json

Favicon

The favicon placeholders are located in public and you can simply replace these files to use your own logos.