- what are project applications and how they’re structured
Webiny uses the term project application (or just application) in order to depict a specific logical segment of your project.
Project applications are higher-level organizational units formed from one or more packages that, as the name itself suggests, form applications. Every application, essentially, consists of two pieces:
- Your application code, which includes one or more Node.js packages. These packages can be anything from a simple GraphQL API or a single Lambda function to a complete React application.
- Cloud infrastructure that hosts your code or which is being utilized by it, which is also described and deployed using code. For that matter, by default, Webiny relies on a solution called Pulumi, which is a modern infrastructure as code solution.
Moving on, every application has its own folder. For example, every Webiny project consists of four applications.
The core (
./apps/core), api (
./apps/api), which represents your project’s (GraphQL) API, admin (
./apps/admin), and finally, the website (
./apps/website), which is your public website.
These applications are shown in the following directory tree:
. ├── apps │ ├── core │ ├── api │ ├── admin │ └── website └── (...)
Every Webiny project can have any number of applications. This depends on the project requirements that are in front of you.they are working together.