# Prerequisites

### **Basic Requirement for App**

{% hint style="info" %}

#### <mark style="color:blue;">NOTE :</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Disclaimer:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">Before proceeding, ensure that your system meets all the requirements listed below. Missing any prerequisites may cause installation or runtime issues.</mark>

{% endhint %}

### **XAMPP/MAMP/LAMP Server**

A XAMPP/MAMP/LAMP server is required to run PHP Laravel locally. If a web server is not installed on your computer, refer to the following links for installation guides on various operating systems.<br>

To run the application, you need to download a web server:

1. For Mac systems, download MAMP or XAMPP Server.
2. For Windows systems, download MAMP or XAMPP Server.
3. For Linux systems, download LAMP or XAMPP Server.

MAMP Server can be downloaded from <https://www.mamp.info/en/mamp/> for Windows/Mac.

XAMPP Server can be downloaded from <https://www.apachefriends.org/download.html> for Windows/Linux/Mac.

### **PHP Version**

PHP Version >= 8.2 is required.

To verify the PHP version installed on your server, enter the following command into your terminal or command line:

```html
php -v
```

{% hint style="warning" %}
**Warning:** If PHP is not installed or the version is lower than 8.2, you must upgrade or install PHP first. Refer to the [official PHP installation guide](https://www.php.net/manual/en/install.php).
{% endhint %}

### **PHP Extensions**

* The following PHP extensions are required for Laravel to function properly:
* gd PHP Extension
* ctype PHP Extension
* curl PHP Extension
* fileinfo PHP Extension
* json PHP Extension
* mbstring PHP Extension
* OpenSSL PHP Extension
* pcre PHP Extension
* pdo PHP Extension
* tokenizer PHP Extension
* pdo\_mysql PHP Extension
* pdo\_sqlite PHP Extension
* xml PHP Extension
* zip PHP Extension
* [grpc PHP Extension (Required for Firebase connectivity)](#user-content-fn-1)[^1]

{% hint style="info" %}
[<mark style="color:$info;">**Info:**</mark> <mark style="color:$info;"></mark><mark style="color:$info;">To enable these extensions, edit your</mark> <mark style="color:$info;"></mark><mark style="color:$info;">`php.ini`</mark> <mark style="color:$info;"></mark><mark style="color:$info;">file and uncomment the respective lines. Restart your server after making changes.</mark>](#user-content-fn-1)[^1]
{% endhint %}

{% hint style="danger" %}
**Warning:** The **grpc PHP Extension** is required for Taxido to connect with Firebase services. Without this extension, the application will not be able to authenticate users, synchronise data, or send push notifications. Refer to our [PHP gRPC Extension documentation](https://pixelstrap.gitbook.io/pixelstrap-docs/taxido/laravel-configuration/php-grpc-extension) for detailed installation instructions.
{% endhint %}

### **Composer**

Composer is essential for managing Laravel dependencies. If Composer is not installed on your computer, refer to the following links for installation guides:

* [Install Composer on Mac](https://medium.com/@rodolfovmartins/how-to-install-composer-on-mac-219b6bf28eeb)
* [Install Composer on Windows](https://medium.com/@rodolfovmartins/how-to-install-composer-on-windows-398183cea8f3)
* [Install Composer on Linux](https://medium.com/@rodolfovmartins/how-to-install-composer-on-linux-2da90ff11f2d)

{% hint style="warning" %}
**Warning:** Ensure Composer is installed globally and accessible via the command line. Verify by running `composer --version`.
{% endhint %}

### **For Taxido Admin**

Node.js is required for frontend asset compilation in Laravel applications. Follow the steps below to install Node.js and npm:

1. Visit the official Node.js website <https://nodejs.org/en> and download the recommended version for your operating system.
2. Open a command prompt or terminal and run the following commands to verify the installation:

```
node -v
```

{% hint style="info" %} <mark style="color:$info;">**Info:**</mark> <mark style="color:$info;"></mark><mark style="color:$info;">Node.js version 20.x.x is recommended for compatibility with Taxido Admin.</mark>
{% endhint %}

[^1]:
