-
Notifications
You must be signed in to change notification settings - Fork 0
Project Structure
Here we will try to describe the structure of the project in high-level
The repository is structured as Monorepo, meaning that it will contain multiple projects in one code repository. This would be difficult to manage without depending on external packages. This is why we use Lerna and Yarn Workspaces
Let's discuss a bit about the configuration files of the monorepo
lerna.json
Here we define the configuration for the Lerna tool. We have defined the npmClient
as yarn because we use the Yarn Workspaces
package.json
This is the root package.json and here we define the dependencies, scripts, configurations that will apply to every package.
Also, we define the workspaces (same as packages in lerna.json) as
"workspaces": [ "packages/*" ],
packages/
In this folder, we include every different project. The root package.json dependencies will be included in every package and each package should define its own package.json
packages/pwa
The main web application that it is deployed in (https://forestrestore.app, https://forestrestoration.gr, https://αποκατάστασηδασών.ελ)
It uses Next.JS, TailwindCSS and it is deployed using Vercel ang Github Actions
packages/shared
In this package we include everything that can be shared to other packages. A very good example is the UI library that we will try to use in other packages.
You can find the code of this UI Library in packages/shared/ui
It uses React.jS, TailwindCSS, HeadlessUI
packages/ui
In this package we include the documentation of the UI library using Storybook. Is is deployed here (https://ui.forestrestore.app/)
It is deployed using Vercel ang Github Actions