Evershop was developed with Node and PostgreSQL. The project is divided into 2 parts: the backend and the frontend.
It is a monolithic application, which means that the backend and the frontend are in the same project.
Evershop provides both REST API and GraphQL API for the frontend to communicate with the backend.
EverShop is a modular application and it supports modularity. It means that all functionality is implemented and delivered in components that are known as Modules.
A module is a logical group – a directory containing controllers, services, views – that are related to a specific business feature. In keeping with EverShop’s commitment to optimal modularity, a module encapsulates one feature and has minimal dependencies on other modules.
Project Folder Structure
A EverShop project contains node_modules, caching files, configuration files, media and extension. Let’s take a look to the directory structure:
│ ├ default.json
This folder contains the built files for production. ReactJS components and assets files will be generated by the build command and stay here automatically.
This folder contains the log file. The log file is where we store the logging information of all the even happening in your application.
This folder contains the configuration files. You can learn more about the configuration in this document.
This folder contains modules developed by third-party and developer. Check this document to understand more the module structure.
This folder contains media files like product images, category images.
This is the default node_modules from NodeJS. It contains the packages from NodeJs and vendors. EverShop core package is also located in this folder.
This folder contains themes developed by third-party and developer. Check this document for more information.