### Setup

We use Gulp to automate the build flow. Gulp handles repetitive tasks like compiling, bundling, and live reloading. Learn more here. Follow the steps below to install all prerequisites:

#### Prerequisites

- ##### Node.js

  Download and install the latest LTS version of Node.js.

  Download Node.js

- ##### Gulp

  Ensure that you have Git installed and running on your system.

  Install Gulp

- ##### PHP

  Make sure to have latest version of PHP installed & running on your computer. If you already have installed PHP on your computer, you can skip this step.

- ##### Xampp (For Windows)

  Make sure to have the latest version of xampp or installed & running on your computer. If you already have installed Xampp on your computer, you can skip this step.

#### Installation

To setup, follow the below mentioned steps:

#### For Windows OS:

1. Unzip your project and place it inside the `xampp/htdocs` folder.

2. Changes terminal's directory to run project. eg: `cd UBold`

3. You can use any following package manager: Bun, Yarn or NPM

##### Bun

If you don't have bun installed on your PC, use the `npm i -g bun` or `sudo npm i -g bun` to install

Command | Description
--- | ---
`bun i` | This would install all required dependencies in `node_modules` folder.
`bun dev` or `gulp` | This would compile all the resources in assets folder.
`bun run build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`bun run rtl` | Compiles and bundles assets for production (RTL version)

##### Yarn

If you don't have yarn installed on your PC, use the next command `npm i -g yarn` or `sudo npm i -g yarn`

Command | Description
--- | ---
`yarn` | This would install all required dependencies in `node_modules` folder.
`yarn dev` or `gulp` | This would compile all the resources in assets folder.
`yarn build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`yarn rtl` | Compiles and bundles assets for production (RTL version)

##### NPM

npm comes preinstalled when you install Nodejs

Command | Description
--- | ---
`npm i` or `npm i --force` | This would install all required dependencies in `node_modules` folder.
`npm run dev` or `gulp` | This would compile all the resources in assets folder.
`npm run build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`npm run rtl` | Compiles and bundles assets for production (RTL version)

4. Start the Apache server from Xampp panel.

5. Visit localhost/UBold/src after running Apache server locally.

#### For Linux or macOS:

You can run the following commands to run project locally or build for production use:

You can run this app following package manager: Bun, Yarn or NPM

##### 1. Bun

If you don't have bun installed on your PC, use the `npm i -g bun` or `sudo npm i -g bun` to install

Command | Description
--- | ---
`bun i` | This would install all required dependencies in `node_modules` folder.
`bun dev` or `gulp` | This would compile all the resources in assets folder.
`php -S 127.0.0.1:8000` | Starts the PHP server on 127.0.0.1:8000 address
`bun run build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`bun run rtl` | Compiles and bundles assets for production (RTL version)

##### Yarn

If you don't have yarn installed on your PC, use the next command `npm i -g yarn` or `sudo npm i -g yarn`

Command | Description
--- | ---
`yarn` | This would install all required dependencies in `node_modules` folder.
`yarn dev` or `gulp` | This would compile all the resources in assets folder.
`php -S 127.0.0.1:8000` | Starts the PHP server on 127.0.0.1:8000 address
`yarn build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`yarn rtl` | Compiles and bundles assets for production (RTL version)

##### NPM

npm comes preinstalled when you install Nodejs

Command | Description
--- | ---
`npm i` or `npm i --force` | This would install all required dependencies in `node_modules` folder.
`npm run dev` or `gulp` | This would compile all the resources in assets folder.
`php -S 127.0.0.1:8000` | Starts the PHP server on 127.0.0.1:8000 address
`npm run build` or `gulp build` | It bundles with production mode. Your app is now ready to be deployed.
`npm run rtl` | Compiles and bundles assets for production (RTL version)

If you are having any question or difficulty during setup, don't hesitate to contact us. We would be glad to assist you.