Welcome to AgileTech !

Is AgileTech a pure React + Laravel Theme?

AgileTech is a dynamic web development theme that combines the strengths of React for the frontend and Laravel for the backend. It provides a powerful foundation for building real-time applications with ease. React ensures a responsive and interactive user interface, while Laravel handles data management, business logic, and server-side operations. The theme's standout feature is its seamless integration with a Laravel API, enabling efficient data exchange between the frontend and backend. With comprehensive documentation, AgileTech is an ideal choice for developers looking to create feature-rich web applications with a strong emphasis on real-time functionality.


If you're having problems while using our theme, please make sure to read the documentation carefully. It will help you quickly resolve your issues. If you can't find the answers you need in the documentation, don't worry! You can request help by submitting a support ticket at wowtheme7@gmail.com.

Dependencies
  • PHP 8.2
  • Composer
  • XAMPP/WAMP/LAMP for MYSQL & apache server.
  • React
  • Bootstrap-5
  • SASS

This guide will help you understand everything about the theme and hopefully provide answers to all your questions. In this documentation, you will find the following topics explained in an easy-to-understand way.

Installation Guide:
  1. Follow the provided installation guide step by step to set up your project smoothly.
  2. Missing any steps during project creation may require starting over.
  3. Familiarize yourself with our theme's folder structure for easier modifications.
  4. You can use our theme's folder structure in your project for reference if you run into any issues during your project.
Theme Layouts:

You can make various page designs by using the different customization choices. It all depends on your creativity and how you apply these options to your website. To help you get started, we've already created a few different layouts using all the customization features. You can use them as they are or get inspired by them for your own website.

Prerequisites

XAMPP/MAMP/LAMP Server

A XAMPP/MAMP/LAMP server is necessary for running PHP Laravel on a local server, If XAMPP/MAMP/LAMP server not installed on your computer, refer to the following links for installation guides on various operating systems.

To run application you need to download web server.

  1. For Mac systems download MAMPP or XAMPP Server.
  2. For Windows systems download MAMPP or XAMPP Server.
  3. For Linux systems download LAMPP or XAMPP Server.

MAMPP Server you can download it from https://www.mamp.info/en/mamp/ for Windows/Mac.

XAMPP Server you can download it from https://www.apachefriends.org/download.html for Windows/Linux/Mac

PHP Version

PHP Version >= 8.2

To Verify the php version on server installed or not, enter the following command into your terminal or command line.

php -v

If you haven't installed it, make sure to install it first.

PHP Extensions

    • bcmath PHP Extension
    • 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

Composer

Composer is essential for Laravel applications, If Composer is not installed on your computer, refer to the following links for installation guides on various operating systems.

    • To install Composer on Mac, simply click on this link.
    • For Windows users, the Composer installation can be completed by clicking on this link.
    • For Ubuntu, acquire insights into the installation and utilization of Composer by visiting this link.

Server Configuration

Note:
  1. Establishing a local server is a mandatory prerequisite for the successful installation of AgileTech. Ensure that you configure the local server before initiating the installation process.
  2. If you are Installing Application on the internet server you no need to worry about server like XAMPP or MAMPP, ensure your server must support with PHP & MySQL.

To run application you need to download web server.

  1. For Mac systems download MAMPP or XAMPP Server.
  2. For Windows systems download MAMPP or XAMPP Server.
  3. For Linux systems download LAMPP or XAMPP Server.

MAMPP Server you can download it from https://www.mamp.info/en/mamp/ for Windows/Mac, For Mac OS installation steps are here and For Windows installation steps are here

XAMPP Server you can download it from https://www.apachefriends.org/download.html for Windows/Linux/Mac

Note: For demonstration we are using here XAMPP Server configuration for Mac/Window and for Linux we are using here LAMP Server. In all the servers have MySQL extensions. No need to download third party MySQL.

XAMPP Configuration In Mac OS

Install XAMPP

Note: You can skip these steps if XAMPP is already installed on your system.
  1. Steps here to Install XAMPP for Mac OS.

After installing XAMPP, here are a few steps you might want to consider.

  1. Open the XAMPP control panel to manage localhost server.
  2. Click Open Application Folder in the XAMPP control panel.
  3. In the application folder, open the etc folder and find the my.cnf file where MySQL settings are stored.
  4. Right-click in the my.cnf file to open it in a Text Editor.
  5. In the Text Editor, find max_allowed_packet and increase 100M, to allow a maximum data size 100M sent to the MySQL server.
  6. Similarly, find wait_timeout to extend the MySQL connection idle time to 3000.
  7. Save the modified my.cnf file, then go back to the XAMPP control panel and restart the server.

XAMPP Configuration In Windows

Install XAMPP

Note: You can skip these steps if XAMPP is already installed on your system.
  1. Steps here to Install XAMPP for Windows OS.

After installing XAMPP, here are a few steps you might want to consider.

  1. Open the XAMPP Control Panel.
  2. Click config in the Apache section. This allows you to manage apache server.
  3. In the Apache section, choose "Select PHP (php.ini)."
  4. In the php.ini file, find max_execution_time and increase value to max_execution_time=3000 for extended execution time.
  5. Find the extension=gd in php.ini. Remove the semicolon (;) at the beginning of the line to enable the GD extension. This is necessary for image processing in PHP.
  6. Click config in the MySQL section.
  7. Open the my.ini file. This file controls MySQL database.
  8. In the my.ini file, find max_allowed_packet. Increase its value 100M to handle larger data packets. For example, set it to max_allowed_packet=100M for bigger data transfers.
  9. Once you've made all these changes in both Apache and MySQL, you'll need to restart XAMPP to apply the changes.

LAMP Configuration In Ubuntu

Install LAMP (Linux, Apache, MySQL, PHP)

Note: You can skip these steps if LAMP is already installed on your system.
  1. Steps here to Install LAMP for Ubuntu OS.

After installing LAMP, here are a few steps you might want to consider.

  1. Use a text editor to open the PHP configuration file. By default, you'll find it at /etc/php/8.2/fpm/php.ini.
  2. Inside the php.ini file, find the following keys and increase their values as shown below:
    • max_execution_time = 30 to 3000
    • max_input_time = 30 to 3000
    • memory_limit = 16M to 100M
    • post_max_size=2M to 100M
    • upload_max_filesize = 2M to 100M
  3. Save the php.ini file after making these changes.
  4. Restart the Apache server using the following command:
sudo systemctl restart apache2

Node JS Install

Note: Install node js to run AgileTech Frontend and Admin .

Node.js

  1. Download latest version of node.js from nodejs.org.
  2. Install Node.js using downloaded file
  3. Open a command prompt or terminal and Run the following commands to verify the installation
  4. node-v

Npm package manager

  1. React apps depend on features and functionality provided by libraries that are available as npm packages. To download and install npm packages, you must have an, you must have an npm package manager.
  2. This Quick Start uses the npm client command line interface, which is installed with Node.js by default. Run following command in a terminal/console window To check that you have the npm client installed or not.
    npm-v
  3. For better understanding React we suggest you to once go through official documentation of React from React Docs.

Overview

Getting Started

1. Unzip Downloaded Project:

- Unzip the file which you got from CodeCanyon and to see the directories.

2. Explore AgileTech Files:

- After extracting the file, you'll see that AgileTech is a three primary parts: backend, frontend, and admin. You need to run each part separately and in a specific order.

    • agiletech
      1. backend
      2. frontend
      3. admin
      4. documentation

To run the application, make sure you install all three parts of AgileTech. Following this simple step-by-step installation guide.

  1. For Laravel AgileTech API Installation click here
  2. For React AgileTech Frontend Installation click here
  3. For React AgileTech Admin Installation click here

AgileTech API Installation

Note: Before you start, confirm that your system meets the required specifications outlined for setting up the AgileTech API Requirements
Follow this video tutorial to install the AgileTech Laravel API Click here

Getting Started With AgileTech API

1. Environment Setup

    Open the backend directory that you downloaded from CodeCanyon.

    Configure Environment Variables and open the .env file.

Update the following keys with your database credentials and appropriate URL.

Use localhost:port (http://localhost:8000) if you're running on your local machine.

Use your live server's API URL (http://api.your-domain.com) for APP_URL if deploying to a live environment.

APP_URL=http://localhost
APP_BACKEND_URL=http://localhost:5173
APP_FRONTEND_URL=http://localhost:3000
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
Note: Make sure to set the APP_URL correctly. If you don't, features like uploading, downloading, and showing images won't work properly. Be sure to double-check and make sure everything is set up correctly.

2. Install Required Dependencies:

- In the backend folder, run following command in the terminal to install the required dependencies.

composer install 

3. Generate Laravel APP KEY:

- After installing dependencies, generate a unique application key with:

php artisan key:generate

5. Link Storage folder to Public folder:

- Ensure images are stored and displayed correctly with:

php artisan storage:link

6. Migrate Database:

- Run this command to for complete database migratoin:

php artisan migrate --seed

- Or, you can upload databae.sql from folder backend > db > databae.sql for completing database migration

7. Run AgileTech API:

-Finally, launch the AgileTech API by running:

php artisan serve

- Access your AgileTech API at http://localhost:8000 (default port) in your web browser.

Congratulations, AgileTech has been successfully installed and configured in your system!🎉

For Postman API Documentation Click Here.

Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend. You can easily do this by following the instructions provided in the following link: Link to AgileTech React Frontend Installation Guide.

React Frontend Installation

Getting Started With React AgileTech Frontend

Note:
  1. Please make sure you've installed NodeJs. If you haven't installed, you can easily do by following this link: Link to Node.js Installation Guide.
  2. Before you start, please make sure you've successfully configured and run the AgileTech API, then you can proceed to set up the React AgileTech frontend.
Follow this video tutorial to install the AgileTech React Frontend Click here

1. Open frontend directory that you downloaded from CodeCanyon.
2. Install Node Module:

- In the frontend folder, run following command in the terminal to install the required dependencies.

npm install
3. Setup .env config :

-

Open the .env file in your code editor and adjust the URL based on the reference image.

4. Run the Project:

- Once the necessary dependencies are successfully installed, initiate your project by executing below command in the Terminal.

npm start

When you start your application, it usually uses the default port, so you can access it by opening http://localhost:3000/

Once you've finished installing the React AgileTech Frontend, the next step is to set up the React AgileTech Admin. You can easily do this by following the instructions provided in the following link: Link to React AgileTech Admin Installation Guide.

React AgileTech Admin Installation

Getting Started With React AgileTech Admin

Note:
  1. Please make sure you've installed NodeJs. If you haven't installed, you can easily do by following this link: Link to Node.js Installation Guide.
  2. Before you start, ensure that you have already configured and run the Laravel API and the React AgileTech Frontend. Once that's completed, you can proceed to set up the React AgileTech Admin.
Follow this video tutorial to install the AgileTech React Admin Click here

1. Open admin directory that you downloaded from CodeCanyon.
2. Install Node Module:

- In the admin folder, run following command in the terminal to install the required dependencies.

npm install
3. Setup .env config :

-

Open the .env file in your code editor and adjust the URL based on the reference image.

4. Run the Project:

- Once the necessary dependencies are successfully installed, initiate your project by executing below command in the Terminal.

npm run dev

Congratulations on the successful installation of AgileTech! After configuring the theme, you can proceed by using the default credentials.

Here are some common solutions if your project isn't running successfully:

  • Ensure you're using the latest version of Node.js.
  • Try deleting the "node_modules" folder and "package-lock.json" file, then run npm install again.
  • If the problem persists, consider re-downloading the theme from Codecanyon and retrying.
  • If none of these steps work, you can create a support ticket for assistance.
  • Default Credentials

    Admin Credential:

    - Url: http://localhost:5173

    - Email: admin@gmail.com

    - Password: 123456

    Overview

    Getting Started

    1. Unzip Downloaded Project:

    - Unzip the file which you got from CodeCanyon and to see the directories.

    2. Explore AgileTech Files:

    - After extracting the file, you'll see that AgileTech is a three primary parts: backend, frontend, and admin. You need to run each part separately and in a specific order.

      • agiletech
        1. backend
        2. frontend
        3. admin
        4. documentation

    For deploying AgileTech on various servers, please make sure you've installed all three necessary parts and configured all the required prerequisites. You can follow this step-by-step deployment guide for different servers:

    - For deploy on cPanel Server, click here.

    - For deploy on a Virtual Private Server (VPS), click here.

    - For deploy on Vercel, click here.

    CPanel Server Configuration

    Getting Started AgileTech API Deployment

    1. Open backend directory that you downloaded from CodeCanyon.

    2. Create a .zip file

    - Zip all files and folders in the backend folder and upload it to your cPanel server.

    3. Create Subdomain

    - Login to your cPanel server and click on domains in the domains section.

    - Create separate subdomains for Laravel API, React frontend, and React backend.

    api.your-domain.com -> laravel API.
    store.your-domain.com for your specific frontend domain name or sub domain name, admin.your-domain.com for your specific admin domain or sub domain name and also same for your API domain as well.

    4. Upload Zip file on cPanel:

    - Upload the agiletech-laravel zip file in the laravel's subdomain (api.your-domain.com).

    - Click on the Go Back link after the file is 100% uploaded.

    5. Extract Laravel Zip File

    6. Create MySQL Database:

    - Now move to cpanel manager and go to > MySQL Database Wizard

    - Create database in MySQL Database Wizard

    - Create database users and remember their passwords for the installation process.

    - Add a user to the database, give them all the necessary permissions, and then click 'Make Changes.' After that, click 'Next Step.

    - Make a note of the database user, database name, and database password after creating the database.

    7. Update Environment File

    - After creating the MySQL database, go to agiletech-laravel folder from your cPanel file manager and edit .env file.

    - Add Laravel base url in APP_URL key.

    - Also, change local to production in APP_ENV.

    - Add MySQL database credentials.

    Add you laravel API primary domain url like a APP_URL=http://api.your-domain.com

    APP_URL=https://api.your-domain.com
    APP_BACKEND_URL=http://api.your-domain.com
    APP_FRONTEND_URL=https://your-domain.com
    DB_DATABASE=your_db_name
    DB_USERNAME=your_db_username
    DB_PASSWORD=your_db_password
    Note: Make sure to set the APP_URL correctly. If you don't, features like uploading, downloading, and showing images won't work properly. Be sure to double-check and make sure everything is set up correctly.

    8. Open cPanel Terminal

    - Enter terminal in cPanel search bar and select terminal.

    - If you can't find the terminal, please log in to your local computer terminal or use Putty for Windows via SSH.

    If you can't find the terminal, please contact your hosting provider, as they manage the cPanel control.

    - Once you've opened the terminal, navigate to the root folder of laravel project.

    9. Install Required Dependencies:

    - In the laravel subdomain folder (api.your-domain.com), run this command to install the required dependencies.

     composer install 

    10. Generate Laravel APP KEY:

    - After installing required dependencies, run this command to generate laravel app key.

     php artisan key:generate

    11. Migrate Database:

    - Run this command to for complete database migratoin:

    php artisan migrate --seed

    - Or, you can upload databae.sql from folder backend > db > databae.sql for completing database migration to phpmyadmin

    12. Migrate Database:

    - Run this command to for complete database migratoin:

    php artisan migrate --seed

    13. Link Storage folder to Public folder:

    - To store and display images correctly, then run this command.

    php artisan storage:link

    Congratulations, AgileTech has been successfully installed and configured in your system!🎉

    14. Test Your Live Application:

    - Visit your website in a web browser to ensure everything is working correctly.

    References for deploying a Laravel project in cPanel

    - Here are some references that can guide you through deploying a Laravel project on a cPanel server:

      • Laravel Official Documentation: It includes sections on deploying Laravel applications and provides insights into best practices.

        Laravel Official Documentation - Deployment

      • cPanel's Documentation: Check for information related to hosting, databases, and other cPanel features.

        cPanel Documentation

      • Host-Specific Guides: Your hosting provider might have specific guides or documentation related to Laravel deployment.

    Deploy on Vercel

    AgileTech Laravel API

    Deploying the Laravel API on Vercel isn't possible due to compatibility issues. Instead, it's recommended to host the API on a separate server. We recommend using a VPS (Virtual Private Server)

    To accomplish this, please follow the step-by-step instructions in the documentation starting from the beginning up to the API installation.

    After successfully hosting the API, proceed with the next steps:

    AgileTech Frontend & Admin

    Note: The deployment steps on Vercel remain the same for both the frontend and admin projects. For demonstration purposes, we will specifically showcase the deployment process for the frontend.

    1. Open frontend directory that you downloaded from CodeCanyon.
    2 Install Vercel CLI:

    Afterward, on your computer, install the Vercel CLI by running the provided command.

    npm install -g vercel
    3 Login Vercel:

    Following the installation, proceed to log in to Vercel by using the provided command.

    vercel login
    4 Deploy:

    Afterward, In the frontend folder, run following command in the terminal to deploy.

    vercel

    Virtual Private Server

    Note:
    1. You can set up Agiletech on different types of clean Ubuntu servers using VPS, including Digital Ocean Droplets, Amazon Lightsail, AWS, Google Cloud Virtual Private Server, Azure Ubuntu Virtual Private Server, and more.
    2. If you plan to utilize all the scripts (backend, frontend, admin) on a single server as outlined in this tutorial, we suggest setting up a new Ubuntu-based server with a minimum of 2+ CPU cores and 2GB+ of memory for an efficient and smooth operation.

    Setup Server

      1. Login to your server:

      - Log in to your server using SSH and Terminal. Use the provided credentials based on your server type, like Ubuntu or AWS.

      2. Setup NGINX:

      Step 1: Installing Nginx

      - Following that, you can choose to install either NGINX or Apache. However, for the purpose of this demonstration, we'll proceed with NGINX, you can install it using the following command.

      sudo apt install nginx

      After accepting the procedure, apt will install Nginx and any required dependencies to your server.

      Step 2: Adjusting the Firewall

      - Before testing Nginx, the firewall software needs to be adjusted to allow access to the service. Nginx registers itself as a service with ufw upon installation, making it straightforward to allow Nginx access.

      - List the application configurations that ufw knows how to work with by typing:

      sudo ufw app list

      - You should get a listing of the application profiles:

      - As demonstrated by the output, there are three profiles available for Nginx:

      1. Nginx Full: This profile opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
      2. Nginx HTTP: This profile opens only port 80 (normal, unencrypted web traffic)
      3. Nginx HTTPS: This profile opens only port 443 (TLS/SSL encrypted traffic)

      - It is recommended that you enable the most restrictive profile that will still allow the traffic you’ve configured. Right now, we will only need to allow traffic on port 80.

      - You can enable this by typing:

      sudo ufw allow 'Nginx HTTP'

      - Verify the change by typing:

      sudo ufw status

      - The output will indicated which HTTP traffic is allowed:

    Step 3: Checking your Web Server

    - At the end of the installation process, Ubuntu 20.04 starts Nginx. The web server should already be up and running.

    - The systemd init system to make sure the service is running by typing:

    systemctl status nginx

    - As confirmed by this out, the service has started successfully. However, the best way to test this is to actually request a page from Nginx.

    3. Installing PHP

    - To install php package, run the following command:

    sudo apt install php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-simplexml php8.2-intl php8.2-gd php8.2-curl php8.2-zip php8.2-gmp

    - Once the installation is finished, you can run the following command to confirm your PHP version:

    php -v

    4. Installing Composer

    - Update the local repository lists by entering the following in a command line.

    sudo apt update

    - The following curl command to have the latest Composer version.

    curl -sS https://getcomposer.org/installer | php

    - This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.

    - You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.

    - The most common location is the /usr/local/bin directory. So use the following command to initiate the move:

    sudo mv composer.phar /usr/local/bin/composer

    - To test composer installation, run:

    composer

    5. Install MySQL Database & User

    - Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.

    sudo apt install mysql-server

    - When prompted, confirm installation by typing Y, and then ENTER.

    - Start the interactive script by running:

    sudo mysql_secure_installation

    - When you’re finished, test whether you’re able to log in to the MySQL console by typing:

    sudo mysql

    - This will connect to the MySQL server as the administrative database user root, which is inferred by the use of sudo when running this command. Below is an example output:

    - Create MySQL database and assign all privileges by using following commands:

    CREATE DATABASE agiletech_laravel;
    CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
    FLUSH PRIVILEGES;

    7. Change permission for the www folder

    sudo chown -R $USER:$USER /var/www;

    8. Upload AgileTech API to Server

    - To make a new directory on your website, just type this command:

    mkdir /var/www/agiletech
    1. Download the agiletech zip file from CodeCanyon and unzip it on your computer.
    2. Inside the unzipped folder, find backend folder
    3. Upload the backend folder to the server at the path /var/www/agiletech/.

    9. Enable multiple sites on nginx

    - To begin, configure server and establish a Reverse Proxy to host multiple sites on the same server. Start by disabling the default settings.

    sudo rm /etc/nginx/sites-enabled/default

    10. Create Nginx domain

    sudo touch /etc/nginx/sites-available/agiletech
    sudo nano /etc/nginx/sites-available/agiletech

    - Include the following Nginx configuration in your edited file:

    server {
        listen 80;
            server_name your-domain.com;
    
            client_max_body_size 256M;
    
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Content-Type-Options "nosniff";
    
            index index.html index.htm;
    
            charset utf-8;
    
            # For Frontend
            location / {
                root /var/www/agiletech;  # Adjust the path to your React app's build output
                try_files $uri $uri/ /index.html;
            }
    
            # For Admin
            location /admin {
                root /var/www/agiletech/admin;  # Adjust the path to your git admin app's build output
                try_files $uri $uri/ /admin/index.html;
            }
    
            # For API
            location /api {
                alias /var/www/agiletech/backend/public;
                try_files $uri $uri/ @api;
    
                location ~ \.php$ {
                    include fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME $request_filename;
                    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
                }
            }
    
            location @api {
                rewrite /api/(.*)$ /index.php?/$1 last;
            }
    
            error_page 404 /index.html;
    
            location ~ \.php$ {
                fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                include fastcgi_params;
            }
    
            location ~ /\.(?!well-known).* {
                deny all;
            }
    }

    Ensure to replace "your-domain.com" with the actual domain name you are using.

    - After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.

    - To enable the configuration, enable it with an easy command.

    sudo ln -s /etc/nginx/sites-available/agiletech /etc/nginx/sites-enabled/

    Please make sure there are no mistakes in the configuration by typing:

    sudo nginx -t

    Then restart Nginx server.

    sudo systemctl restart nginx

    11. Secure Nginx Server

    sudo apt install certbot python3-certbot-nginx

    You need to modify its settings to permit HTTPS traffic. Fortunately, Nginx creates specific profiles in ufw during installation.

    sudo ufw status
    sudo ufw allow 'Nginx Full'
    sudo ufw delete allow 'Nginx HTTP'
    sudo certbot --nginx -d your-domain

    Installing AgileTech API

    1. Initially, navigate to the backend directory, and change the file named .env.example as .env.

    cd /var/www/agiletech/backend

    - Add values to the below keys in the .env file using nano command

    nano .env
    cp .env.example .env

    If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below

    If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.

    APP_URL=https://api.your-domain.com
    APP_BACKEND_URL=http://api.your-domain.com
    APP_FRONTEND_URL=https://your-domain.com
    DB_DATABASE=database_name
    DB_USERNAME=database_username
    DB_PASSWORD=database_password
    Note: Make sure to set the APP_URL correctly. If you don't, features like uploading, downloading, and showing images won't work properly. Be sure to double-check and make sure everything is set up correctly.

    2. Install Required Dependencies:

    - In the backend folder, run following command in the terminal to install the required dependencies.

    composer install 

    3. Generate Laravel APP KEY:

    - Once the necessary dependencies are successfully installed, run following command to generate laravel app key.

    php artisan key:generate

    4. Migrate Database:

    - Run this command to for complete database migratoin:

    php artisan migrate --seed

    5. Link Storage folder to Public folder:

    - Then, run following command to store and display images correctly.

    php artisan storage:link

    6. Run Laravel API:

    - Once you've finished all the previous steps, you can run the Laravel API by adding following command.

    php artisan serve

    - When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:5173 in your web browser.

    Congratulations, AgileTech has been successfully installed and configured in your system!🎉

    For Postman API Documentation Click Here.

    Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend.

    React Frontend And Backend

    • For Frontend Store:

      1. Find the frontend directory that you downloaded from CodeCanyon.
      2. Open the .env file in your code editor and adjust the URL based on the reference image.

      • baseURl: This represents the base URL for running our AgileTech frontend project.
      • URL: This represents the Laravel API server URL
      • storageURL: Enter the laravel primary domain.
    • For Admin:

      1. Find the admin directory that you downloaded from CodeCanyon.
      2. Open the .env file in your code editor and adjust the URL based on the reference image.

    • Note: Now, the below steps will be the same for frontend and admin project.

    • This will create a "dist" directory in your project with optimized files.

    Upload zip file to respective on cPanel:

    - Take the contents of the "dist" folder and upload them to your website's respective folder.

    Note: For demostraction purposes, we are displaying a reference image of the AgileTech frontend.

    - Zip the Frontend project and upload it to the /var/www/agiletech/ and extract it.
    - Zip the Admin project and upload it to the /var/www/agiletech/admin and extract it.
    Next, open the index.html file using the command nano /var/www/agiletech/admin/index.html and modify the base href path to <base href="/admin/">. This adjustment is necessary due to the presence of a subfolder, hence the need to update the base href path.

    - After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.

    Congratulations on completing the AgileTech installation! Now, navigate to the admin panel at your-domain.com/admin. For the frontend, visit your-domain.com. Enjoy using AgileTech!

    Linux, Apache, MySQL, PHP (LAMP) Stack

    Note:
    1. You can set up AgileTech on different types of clean Ubuntu servers using VPS, including Digital Ocean Droplets, Amazon Lightsail, AWS, Google Cloud Virtual Private Server, Azure Ubuntu Virtual Private Server, and more.
    2. If you plan to utilize all the scripts (backend, frontend, admin) on a single server as outlined in this tutorial, we suggest setting up a new Ubuntu-based server with a minimum of 2+ CPU cores and 2GB+ of memory for an efficient and smooth operation.

    Introduction

    A "LAMP" stack is a bundle of open-source software commonly used to host dynamic websites and web apps written in PHP. It includes Linux for the operating system, Apache for the web server, MySQL for the database, and PHP for processing dynamic content.

    Install LAMP

      Step 1: Installing Apache and Updating package

      - Start by updating the package manager cache. If this is the first time you’re using sudo within this session, you’ll be prompted to provide your user’s password to confirm you have the right privileges to manage system packages with apt:

      sudo apt update

      - Then, install Apache with:

      sudo apt install apache2

      - You’ll be prompted to confirm Apache’s installation. Confirm by pressing Y, then ENTER.

      - Select unnattended-upgrades options by pressing space-bar, and then press Tab button to select OK button, please Enter button.

      Step 2: Setup Firewall to allow HTTP

      - Once the installation is finished, you’ll need to adjust your firewall settings to allow HTTP traffic.

      - Ubuntu’s default firewall configuration tool is called Uncomplicated Firewall (UFW). It has different application profiles that you can leverage.

      - To list all currently available UFW application profiles, execute this command:

      sudo ufw app list

      - To only allow traffic on port 80, use the Apache profile

      sudo ufw allow in "Apache"

      - Enable firewall and verify the change with:

      sudo ufw enable

      - After execute this command it will ask proceed this operation with existing ssh connection? Enter "y" and continue it.

      sudo ufw status

      Step 3: Find your Server’s Public IP Address

      - If you do not know what your server’s public IP address is, there are a number of ways to find it. You can following this command to find your public server ip address.

      ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

      - Open this IP address in your browser, If you can view this page, your web server is correctly installed and accessible through your firewall.

      Step 4: Installing PHP

      - To install php and mysql, run the following command:

      sudo apt install php libapache2-mod-php php-mysql

      - Press "Y | y" tp continue this process and Once the installation is finished, run the following command to confirm your PHP version:

      - To install php extensions, run the following command:

      sudo apt install php-mbstring php-xml php-bcmath php-simplexml php-intl php-gd php-curl php-zip php-gmp

      - Once the installation is finished, you can run the following command to confirm your PHP version:

      php -v

      Step 5: Installing Composer

      - Update the local repository lists by entering the following in a command line.

      sudo apt update

      - The following curl command to have the latest Composer version.

      curl -sS https://getcomposer.org/installer | php

      - This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.

      - You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.

      - The most common location is the /usr/local/bin directory. So use the following command to initiate the move:

      sudo mv composer.phar /usr/local/bin/composer

      - To test composer installation, run:

      composer

      Step 6: Install MySQL Database & User

      - Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.

      sudo apt install mysql-server

      - When prompted, confirm installation by typing Y, and then ENTER.

      - Start the interactive script by running:

      sudo mysql_secure_installation

      - When prompted, confirm installation by typing Y, and then ENTER.

      - If you answer “yes”, you’ll be asked to select a level of password validation.

      If you choose the strongest level as 2, you'll encounter errors when trying to set a password that doesn't include numbers, uppercase and lowercase letters, and special characters.

      - We have choose the medium level as 1, after choose password validation level. It will ask some confirmation you can choose as your need.

      - When you’re finished, test whether you’re able to log in to the MySQL console by typing:

      sudo mysql

      - Once you are entering mysql panel, following some command for create database and database user to store data.

      CREATE DATABASE agiletech_laravel;
      CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'Password@123';
      GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
      FLUSH PRIVILEGES;

      - To exit the MySQL console, type:

      exit

      Step 7: Change permission for the www folder

      sudo chown -R $USER:$USER /var/www;

      Step 8: Upload AgileTech API to Server

      - To make a new directory on your website, just type this command:

      mkdir /var/www/agiletech
      1. Download the agiletech zip file from CodeCanyon and unzip it on your computer.
      2. Inside the unzipped folder, find backend folder
      3. Upload the backend folder to the server at the path /var/www/agiletech/.

      Step 9: Install zip and extract it

      - following this command to install zip and extract it.

      sudo apt install zip unzip

      10. Create Virtual Host File

      nano /etc/apache2/sites-available/your_domain.conf

      - Add Following Code in Virtual Host File

      
                                                      <VirtualHost *:80>
                                                          ServerName www.your-domain.com
                                                          ServerAdmin contact@your-domain.com
                                                          DocumentRoot /var/www/backend/public
                                                          ErrorLog ${APACHE_LOG_DIR}/error.log
                                                          CustomLog ${APACHE_LOG_DIR}/access.log combined
                                                          <Directory /var/www/backend/public/>
                                                              Options -Indexes +FollowSymLinks
                                                              AllowOverride All
                                                              Require all granted
                                                          </Directory>
                                                      </VirtualHost>
                                                  

      - Include the following Nginx configuration in your edited file:

      - Restart Apache2

      service apache2 restart

      Installing AgileTech API

      1. Initially, navigate to the backend directory, and change the file named .env.example as .env.

      cd /var/www/agiletech/backend

      - Add values to the below keys in the .env file using nano command

      nano .env
      cp .env.example .env

      If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below

      If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.

      APP_URL=http://localhost
      APP_BACKEND_URL=http://api.your-domain.com
      APP_FRONTEND_URL=https://your-domain.com
      DB_DATABASE=database_name
      DB_USERNAME=database_username
      DB_PASSWORD=database_password
      Note: Make sure to set the APP_URL correctly. If you don't, features like uploading, downloading, and showing images won't work properly. Be sure to double-check and make sure everything is set up correctly.

      2. Install Required Dependencies:

      - In the backend folder, run following command in the terminal to install the required dependencies.

      composer install 

      3. Generate Laravel APP KEY:

      - Once the necessary dependencies are successfully installed, run following command to generate laravel app key.

      php artisan key:generate

      4. Migrate Database:

      - Run this command to for complete database migratoin:

      php artisan migrate --seed

      5. Link Storage folder to Public folder:

      - Then, run following command to store and display images correctly.

      php artisan storage:link

      6. Run Laravel API:

      - Once you've finished all the previous steps, you can run the Laravel API by adding following command.

      php artisan serve

      - When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:8000 in your web browser.

      Congratulations, AgileTech has been successfully installed and configured in your system!🎉

      For Postman API Documentation Click Here.

      Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend.

      React Frontend And Backend

      • For Frontend Store:

        1. Find the frontend directory that you downloaded from CodeCanyon.
        2. Open the .env file in your code editor and adjust the URL based on the reference image.

        • baseURl: This represents the base URL for running our AgileTech frontend project.
        • URL: This represents the Laravel API server URL
        • storageURL: Enter the laravel primary domain.
      • For Admin:

        1. Find the admin directory that you downloaded from CodeCanyon.
        2. Open the .env file in your code editor and adjust the URL based on the reference image.

      • Install Node Module:

        - In the frontend folder, run following command in the terminal to install the required dependencies.

        npm install
      • For building your React application, utilize the following commands separately for both the frontend and admin

        npm run build
      • This will create a ".next" directory in your project with optimized files.

      Upload zip file to respective on server:

      - Take the contents of the ".next" folder and upload them to your website's respective folder.

      Note: For demostraction purposes, we are displaying a reference image of the AgileTech frontend.

      - Zip the Frontend project and upload it to the /var/www/html/agiletech/ and extract it.
      - Zip the Admin project and upload it to the /var/www/html/agiletech/admin and extract it.
      Next, open the index.html file using the command nano /var/www/html/agiletech/admin/index.html and modify the base href path to <base href="/admin/">. This adjustment is necessary due to the presence of a subfolder, hence the need to update the base href path.

      - After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.

      Congratulations on completing the AgileTech installation! Now, navigate to the admin panel at your-domain.com/admin. For the frontend, visit your-domain.com. Enjoy using AgileTech!

      Default Credentials

      Admin Credential:

      - Url: http://localhost:5173

      - Email: admin@gmail.com

      - Password: 123456

    Linux, Nginx, MySQL, PHP (LEMP stack)

    Note:
    1. You can set up AgileTech on different types of clean Ubuntu servers using VPS, including Digital Ocean Droplets, Amazon Lightsail, AWS, Google Cloud Virtual Private Server, Azure Ubuntu Virtual Private Server, and more.
    2. If you plan to utilize all the scripts (backend, frontend, admin) on a single server as outlined in this tutorial, we suggest setting up a new Ubuntu-based server with a minimum of 2+ CPU cores and 2GB+ of memory for an efficient and smooth operation.

    Setup Server

      1. Login to your server:

      - Log in to your server using SSH and Terminal. Use the provided credentials based on your server type, like Ubuntu or AWS.

      2. Setup NGINX:

      Step 1: Installing Nginx

      - Following that, you can choose to install either NGINX or Apache. However, for the purpose of this demonstration, we'll proceed with NGINX, you can install it using the following command.

      sudo apt install nginx

      After accepting the procedure, apt will install Nginx and any required dependencies to your server.

      Step 2: Adjusting the Firewall

      - Before testing Nginx, the firewall software needs to be adjusted to allow access to the service. Nginx registers itself as a service with ufw upon installation, making it straightforward to allow Nginx access.

      - List the application configurations that ufw knows how to work with by typing:

      sudo ufw app list

      - You should get a listing of the application profiles:

      - As demonstrated by the output, there are three profiles available for Nginx:

      1. Nginx Full: This profile opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
      2. Nginx HTTP: This profile opens only port 80 (normal, unencrypted web traffic)
      3. Nginx HTTPS: This profile opens only port 443 (TLS/SSL encrypted traffic)

      - It is recommended that you enable the most restrictive profile that will still allow the traffic you’ve configured. Right now, we will only need to allow traffic on port 80.

      - You can enable this by typing:

      sudo ufw allow 'Nginx HTTP'

      - Verify the change by typing:

      sudo ufw status

      - The output will indicated which HTTP traffic is allowed:

    Step 3: Checking your Web Server

    - At the end of the installation process, Ubuntu 20.04 starts Nginx. The web server should already be up and running.

    - The systemd init system to make sure the service is running by typing:

    systemctl status nginx

    - As confirmed by this out, the service has started successfully. However, the best way to test this is to actually request a page from Nginx.

    3. Installing PHP

    - To install php package, run the following command:

    sudo apt install php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-simplexml php8.2-intl php8.2-gd php8.2-curl php8.2-zip php8.2-gmp

    - Once the installation is finished, you can run the following command to confirm your PHP version:

    php -v

    4. Installing Composer

    - Update the local repository lists by entering the following in a command line.

    sudo apt update

    - The following curl command to have the latest Composer version.

    curl -sS https://getcomposer.org/installer | php

    - This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.

    - You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.

    - The most common location is the /usr/local/bin directory. So use the following command to initiate the move:

    sudo mv composer.phar /usr/local/bin/composer

    - To test composer installation, run:

    composer

    5. Install MySQL Database & User

    - Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.

    sudo apt install mysql-server

    - When prompted, confirm installation by typing Y, and then ENTER.

    - Start the interactive script by running:

    sudo mysql_secure_installation

    - When you’re finished, test whether you’re able to log in to the MySQL console by typing:

    sudo mysql

    - This will connect to the MySQL server as the administrative database user root, which is inferred by the use of sudo when running this command. Below is an example output:

    - Create MySQL database and assign all privileges by using following commands:

    CREATE DATABASE agiletech_laravel;
    CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
    FLUSH PRIVILEGES;

    7. Change permission for the www folder

    sudo chown -R $USER:$USER /var/www;

    8. Upload AgileTech API to Server

    - To make a new directory on your website, just type this command:

    mkdir /var/www/agiletech
    1. Download the agiletech zip file from CodeCanyon and unzip it on your computer.
    2. Inside the unzipped folder, find backend folder
    3. Upload the backend folder to the server at the path /var/www/agiletech/.

    9. Enable multiple sites on nginx

    - To begin, configure server and establish a Reverse Proxy to host multiple sites on the same server. Start by disabling the default settings.

    sudo rm /etc/nginx/sites-enabled/default

    10. Create Nginx domain

    sudo touch /etc/nginx/sites-available/agiletech
    sudo nano /etc/nginx/sites-available/agiletech

    - Include the following Nginx configuration in your edited file:

    server {
        listen 80;
            server_name your-domain.com;
    
            client_max_body_size 256M;
    
            add_header X-Frame-Options "SAMEORIGIN";
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Content-Type-Options "nosniff";
    
            index index.html index.htm;
    
            charset utf-8;
    
            # For Frontend
            location / {
                root /var/www/agiletech;  # Adjust the path to your React app's build output
                try_files $uri $uri/ /index.html;
            }
    
            # For Admin
            location /admin {
                root /var/www/agiletech/admin;  # Adjust the path to your React admin app's build output
                try_files $uri $uri/ /admin/index.html;
            }
    
            # For API
            location /api {
                alias /var/www/agiletech/backend/public;
                try_files $uri $uri/ @api;
    
                location ~ \.php$ {
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_pass unix:/run/php/php8.2-fpm.sock;
                }
            }
    
            location @api {
                rewrite /api/(.*)$ /index.php?/$1 last;
            }
    
            error_page 404 /index.html;
    
            location ~ \.php$ {
                fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                include fastcgi_params;
            }
    
            location ~ /\.(?!well-known).* {
                deny all;
            }
    }

    Ensure to replace "your-domain.com" with the actual domain name you are using.

    - After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.

    - To enable the configuration, enable it with an easy command.

    sudo ln -s /etc/nginx/sites-available/agiletech /etc/nginx/sites-enabled/

    Please make sure there are no mistakes in the configuration by typing:

    sudo nginx -t

    Then restart Nginx server.

    sudo systemctl restart nginx

    11. Secure Nginx Server

    sudo apt install certbot python3-certbot-nginx

    You need to modify its settings to permit HTTPS traffic. Fortunately, Nginx creates specific profiles in ufw during installation.

    sudo ufw status
    sudo ufw allow 'Nginx Full'
    sudo ufw delete allow 'Nginx HTTP'
    sudo certbot --nginx -d your-domain

    Installing AgileTech API

    1. Initially, navigate to the backend directory, and change the file named .env.example as .env.

    cd /var/www/agiletech/backend

    - Add values to the below keys in the .env file using nano command

    nano .env
    cp .env.example .env

    If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below

    If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.

    APP_URL=http://localhost:8000
    APP_BACKEND_URL=http://api.your-domain.com
    APP_FRONTEND_URL=https://your-domain.com
    DB_DATABASE=database_name
    DB_USERNAME=database_username
    DB_PASSWORD=database_password
    Note: Make sure to set the APP_URL correctly. If you don't, features like uploading, downloading, and showing images won't work properly. Be sure to double-check and make sure everything is set up correctly.

    2. Install Required Dependencies:

    - In the backend folder, run following command in the terminal to install the required dependencies.

    composer install 

    3. Generate Laravel APP KEY:

    - Once the necessary dependencies are successfully installed, run following command to generate laravel app key.

    php artisan key:generate

    4. Migrate Database:

    - Run this command to for complete database migratoin:

    php artisan migrate --seed

    5. Link Storage folder to Public folder:

    - Then, run following command to store and display images correctly.

    php artisan storage:link

    6. Run Laravel API:

    - Once you've finished all the previous steps, you can run the Laravel API by adding following command.

    php artisan serve

    - When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:8000 in your web browser.

    Congratulations, AgileTech has been successfully installed and configured in your system!🎉

    For Postman API Documentation Click Here.

    Once you've finished installing the AgileTech API, the next step is to set up the agiletech react frontend.

    Admin Dashboard

    The Admin Dashboard provides an overview of your system, including user statistics, system health, and quick actions to manage your platform efficiently.

    Image

    Services

    Manage and define the services offered through your platform.

    Image

    Create services offered through your platform.

    Image

    Edit services offered through your platform.

    Image

    Service Detail

    Provide detailed descriptions and specifications for each service.

    Image

    Create detailed descriptions and specifications for each service.

    Image

    Edit detailed descriptions and specifications for each service.

    Image

    Plan

    Define subscription plans or packages available to your users.

    Image

    Create subscription plans or packages available to your users.

    Image

    Edit subscription plans or packages available to your users.

    Image

    Payment Gateway

    Configure payment gateways for secure transactions.

    Image

    Create payment gateways for secure transactions.

    Image

    Edit payment gateways for secure transactions.

    Image

    Blogs

    Organize

    Image

    Create your blog content by creating and managing categories.

    Image

    Edit your blog content by creating and managing categories.

    Image

    Blog Categories

    Manage blog categories and articles to keep your users informed.

    Image

    Create blog categories and articles to keep your users informed.

    Image

    Edit blog categories and articles to keep your users informed.

    Image

    Galleries

    Display image galleries to showcase visual content.

    Image

    Create galleries and articles to keep your users informed.

    Image

    Edit galleries and articles to keep your users informed.

    Image

    Products

    Organize and manage product listings, including product details, pricing, and availability.

    Manage Products

    Create new product listings with detailed descriptions and images.

    Create Products

    Edit existing product listings to update their details.

    Edit Products

    Product Category

    Manage product categories to organize your products effectively.

    Manage Product Categories

    Create new product categories for better organization.

    Create Product Categories

    Edit existing product categories to update their details.

    Edit Product Categories

    Order Manage

    View and manage customer orders, including order status and details.

    Manage Orders

    View order Invoice.

    Create Orders

    Edit existing orders to update their status or details.

    Edit Orders

    Customer Manage

    Manage customer information, including contact details and order history.

    Manage Customers

    Edit existing customer accounts to update their details.

    Create Customers

    Settings

    Configure general settings for your application.

    Image

    Email Settings

    Manage email configuration settings.

    Image

    Web Template

    Select and customize website templates.

    Image

    Brand

    Manage brand information and logos.

    Image

    About

    Define 'About Us' content for your website.

    Image

    FAQ

    Create and manage Frequently Asked Questions.

    Image

    Team

    Display team member profiles and roles.

    Image

    Counter

    Manage counter statistics displayed on the homepage.

    Image

    Contact

    Manage contact information displayed on the website.

    Image

    Step

    Define steps or processes displayed in a step-by-step guide.

    Image

    Social

    Manage social media links and icons.

    Image

    Extra Pages

    Add and manage extra pages for additional content.

    Image

    Subscriber

    Manage subscriber lists and newsletters. You can send mail to the subscriber from here.

    Image

    Thank You

    24/7 Support: Send Us a message from our Support Page

    Thank you so much for purchasing our React & Laravel Theme!🎉

    If you have any questions or need assistance, please do not hesitate to reach out to us wowtheme7@gmail.com.

    We're here to help you at every step of the way and make your experience as smooth as possible.

    We hope this documentation serves you well!🙌

    Enjoy your coding journey!✨