- 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.
Learn more about the fundamental organizational units - project applications and packages, by visiting the Project Applications and Packages page.
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.
Yes, and in most cases, they are working together.