Relationship Among Organization, Portfolio, Programs, Projects & Products

Organization: The highest level of the hierarchy. Defines strategic goals, vision, and mission.

“Allocates resources to portfolios, programs, and projects to achieve business objectives”

Portfolio: Portfolio is collection of Programs & Projects

Portfolio is A collection of programs, projects, and operations grouped together to align with organizational strategy.

Program: Program is collection of Projects.

Program is a group of related projects managed in a coordinated way to achieve benefits not achievable individually.

Project: Project is collection of Products.

A project is a temporary endeavor undertaken to create a unique product, service, or result. It is defined by specific goals, a start and end date, and constraints such as time, cost, and resources.

Products are often managed over their lifecycle to provide ongoing value to the organization.

Product: Product is The final deliverable or result of one or more projects, it’s both services or goods.

Products are often managed over their lifecycle to provide ongoing value to the organization.

Organization Business Flow

How To Install Magento 2 PWA studio frontend in Windows XAMPP

Step [1] –To install Node.js, download it from https://nodejs.org/

Step [2] – To install Yarn, you can use the following command after Node.js is installed

npm install -g yarn

Step [3] –Now Check version of Node & Yarn

 node -v  (For node version checker)

yarn -v (For yarn version checker)

Above command indicate Node & Yarn has been installed properly

Step [4] – Clone PWA Studio

Open a terminal and navigate to your Magento root directory

Clone the PWA Studio repository

Step [5] – Installation of PWA Studio Dependencies:

Once Clone clone of PWA Studio repository done

Go To cd pwd-studio & run below yarn command

yarn install

Step [6] –

Step [7] –

Step [8] –

Step [9] –

Step [10] –

Step [11] –

Step [12] –

Magento 2 Cloud Console Command Installation Steps in WSL Windows

Follow below Cloud Console Command steps to login in WSL Windows

Step [1] – Update Package Lists: Ensure your package lists are up to date

sudo apt update

Step [2] – Install Required Dependencies: Install PHP and other necessary dependencies:

sudo apt install php-cli php-curl php-zip unzip curl

Step [3] – Download and Install magento-cloud CLI: Use the following command to download and install the magento-cloud CLI

curl -sS https://accounts.magento.cloud/cli/installer | php

Step [4] – Add magento-cloud CLI to the PATH: Add the magento-cloud CLI to your PATH by editing your .bashrc or .zshrc file

echo 'export PATH="$HOME/.magento-cloud/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Step [5] – Verify The Magent Cloud: Run the following command to check if the installation was successful or check magento cloud version

magento-cloud --version

Step [6] – Verify The List of Available Commands: To verify that the magento-cloud command is available, you can view list of available commands

magento-cloud list

Step [7] – magento-cloud login, once this command run below output URL

http://127.0.0.1:5000

If this URL normally does not work, follow below steps to API Token Authentication command to login inside Adobe Commerce Console.

Step [7.1] – Generate API Token in Adobe Commerce Console.

Step [7.2] – Run below command API Token Authentication command to login

magento-cloud-cli auth:api-token-login

Step [7.3] – Once above command run asking for token/password , need to put below token (Already Generated API Token in Adobe Commerce Console) & successfully login Magento cloud CLI & ready to selection different integration

EFcMEi-K6p5Mq9poSkrvqX4gWNBP9ValEG3krC2eTyc , This Already Generated API Token in Adobe Commerce Console)

Step [7.4] – To verify either inside Adobe Commerce Cloud login successfully

magento--cloud version

Step [7.5] – How To Check  Lists the environments in the current project 

magento-cloud environment:list

Step [7.8] – How To Check, Lists variables in the current environment 

magento-cloud variables

How To Fetch Files or Repo From Private Repository packagist.com or repo.packagist.com

Packagist hosts a vast collection of PHP packages, from well-known libraries to smaller community-contributed ones. This repository includes libraries for tasks like authentication, database handling, routing, validation, and much more.

To configure files or repo from rom Private Repository packagist.com https://packagist.com follow below steps.

Step [1] –Login in rom Private Repository packagist.com by using your Butbucket / Github / GitLab

Run on root directory of your Magento 2 / Adobe Commerce

composer install

Step [2] – One logged inside, private repository https://packagist.com/

Go To Setup Authentication >> Composer Config Command

on the root directory of your Magento Clone Files run below command

composer config --global --auth http-basic.repo.packagist.com "Your Name" packagist_uut_kt4yti5vqgkuebbx0iyzlhdmf3amp6owr2ojlsxzu8vfeasn17cnjwgr

This command will create auth.json with username & password setup of packagist.com(repo.packagist.com) & fetch all stored packages in your local

Step [3] – Once step2 done check auth.json created with proper values from repo.packagist.com

Step [4] – Run composer install again

composer install 

Now all packages from Private Repository (packagist.com) or repo.packagist.com will be downloaded properly.

How To Install / Uninstall PHP 8.1, MYSQL, NGINX & Composer in Windows 10/11 WSL Ubuntu

Step [1] – Installation NGINX

sudo apt install
sudo apt install nginx
sudo service nginx start

Step [2] – Install php 8.1

sudo apt install php8.1 libapache2-mod-php8.1 php8.1-common php8.1-gmp php8.1-curl php8.1-soap php8.1-bcmath php8.1-intl php8.1-mbstring php8.1-xmlrpc php8.1-mysql php8.1-gd php8.1-xml php8.1-cli php8.1-zip

If php 8.1 not started

run below command

      sudo add-apt-repository ppa:ondrej/php
      sudo apt update
      sudo apt install php8.1-fpm

Finally it will restart as below
sudo systemctl start php8.1-fpm

Step [3] – Run command to check php.ini path

php --ini | grep "Loaded Configuration File"

Step [4] – Below Settings need to modify in php.ini

max_execution_time = 5000 

max_input_time = 5000 

memory_limit = -1

post_max_size = 900M 

upload_max_filesize = 900

Below extension need to enable

extension=intl
extension=curl
extension=soap
extension=sockets
extension=sodium
extension=xsl
extension=zip
extension=gd

restart nginx & php8.1-fpm

sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm

Step [5] – Install MySQL 8 and Create a Database

[5.1] Install Mysql Server

 sudo apt install mysql-server

[5.2] Start mysql service

sudo systemctl start mysql

[5.3] Enable mysql service


sudo systemctl enable mysql

[5.4] Go inside mysql

sudo mysql -u root -p

where username = root & password = root123

[5.4] – Mysql Secure Installation

here change password & new password as below

mysql username = root

mysql password = Noida123!@#

[5.5] – Create custom database with username / password for newly created database magento246p1

Username = magento246p1

Password= TYfd1@#23asD

Database name = magento246p1

create USER 'magento246p1'@'localhost' IDENTIFIED  by 'TYfd1@#23asD';

GRANT ALL ON magento246p1.* TO 'magento246p1'@'localhost';

flush privileges;

Finally your database magento246p1 is ready for use

Step [6] – Composer Installation

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php –install-dir=/usr/local/bin –filename=composer

To Check either composer working fine

Step [7] – Remove composer-setup.php

Once installed composer, It is file composer-setup.php created, we do not need this file, need to remove

Step [8] – Elastic Search Installation

sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-amd64.deb

Note:: this command will take smore time, please be patience !

sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-amd64.deb.sha512

shasum -a 512 -c elasticsearch-8.3.2-amd64.deb.sha512
sudo dpkg -i elasticsearch-8.3.2-amd64.deb

Once Below command run & display as ok — Elastic Search packaged installed.

shasum -a 512 -c elasticsearch-8.3.2-amd64.deb.sha512

Step [9] – Elasticsearch Start command

 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
 sudo systemctl start elasticsearch.service
 sudo systemctl restart elasticsearch

To check status of Installed Elasticsearch

sudo systemctl status elasticsearch

If the service is active (running), it should look like this:

Step [9] – Install below PHP essential pkg for Magento 2.4.x

sudo apt update
sudo apt install php8.1-curl



sudo apt update
sudo apt install php8.1-intl


sudo apt update
sudo apt install php8.1-soap

sudo apt update
sudo apt install php8.1-sodium


sudo apt update
sudo apt install php8.1-xml


sudo apt update
sudo apt install php8.1-zip

sudo apt update
sudo apt install php8.1-gd

Once Installed run

sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm

PHP command check all installed module

php -m

Step [10] – Now run Magento2.4.6 composer repository

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition 2.4.6

Step [11] – Run below command to install magento 2.4.6

php bin/magento setup:install --base-url="http://localhost/magento246/2.4.6/" --db-host="localhost" --db-name="magento246p1" --db-user="magento246p1" --db-password="TYfd1@#23asD" --admin-firstname="admin" --admin-lastname="admin" --admin-email="admin@admin.com" --admin-user="admin" --admin-password="admin123" --language="en_US" --currency="INR" --timezone="America/Chicago" --use-rewrites="1" --backend-frontname="admin"

During installation If Elasticsearch issue / error

Elasticsearch issue / error Solution:

Open the Elasticsearch configuration file and make necessary adjustments:

sudo nano /etc/elasticsearch/elasticsearch.yml

Disable security features for simplicity:

xpack.security.enabled: false

Restart Elasticsearch to apply changes:

sudo systemctl restart elasticsearch

To verify Elasticsearch working fine

http://localhost:9200/

Step [12] – Once Elasticsearch issue resolved, run again

php bin/magento setup:install –base-url=”http://localhost/magento246/2.4.6/” –db-host=”localhost” –db-name=”magento246p1″ –db-user=”magento246p1″ –db-password=”TYfd1@#23asD” –admin-firstname=”admin” –admin-lastname=”admin” –admin-email=”admin@admin.com” –admin-user=”admin” –admin-password=”admin123″ –language=”en_US” –currency=”INR” –timezone=”America/Chicago” –use-rewrites=”1″ –backend-frontname=”admin”

If Message displaying as below, indicates, Magento 2 Installation has been successfully installed.

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin

Run below CLI Command

php bin/magento deploy:mode:set developer
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy -f
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush

Finally Magento 2.4.6 Community Edition / Open Source has been installed

Step [13]- Once Installed , correct file permission

sudo chown -R www-data:www-data /var/www/html/magento246/2.4.6
sudo find /var/www/html/magento246/2.4.6 -type f -exec chmod 644 {} \;
sudo find /var/www/html/magento246/2.4.6 -type d -exec chmod 755 {} \;



sudo chown -R www-data:www-data /var/www/html/magento246/2.4.6/pub/static
sudo chown -R www-data:www-data /var/www/html/magento246/2.4.6/var
sudo chmod -R 755 /var/www/html/magento246/2.4.6/pub/static
sudo chmod -R 755 /var/www/html/magento246/2.4.6/var

Once your Machine (Windows WLS 2) opened run below command to start services

sudo systemctl start nginx
sudo systemctl start php8.1-fpm

sudo service mysql start
sudo systemctl status mysql
sudo systemctl restart mysql

 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
 sudo systemctl start elasticsearch.service
https://magento.stackexchange.com/questions/219762/magento-2-css-and-js-not-working-after-install

Explain List of important Docker Commands

Step [1] – What is the docker-compose Up command
The docker compose up command aggregates the output of each container (like docker compose logs –follow does).

Step [2] – What is the docker-compose stop command
To stop containers running in the background, use the docker-compose stop command:

Step [3] – What is the docker-compose Down command
Running this command in a terminal or within a script stops and removes all containers, networks, and volumes established by the docker-compose up command
To use it, simply navigate to your project directory and execute docker-compose down.

Step [4] – What is docker command to check services name

docker-compose config --services

Step [5] – What is Docker command to check Mysql or MariaDB Version

docker-compose exec db mysql -V

Step [6] – Which Command is being used to check total number of containers running right now

docker ps

Step [7] – Which Docker Command used for Restart Services

docker-compose restart

Step [8] – Linux command to check current path

Step [9] – List of required PHP 8.3 Extension for Linux/Docker/WSL2 (Magento 2 Installation)

sudo apt install php8.3-curl
sudo apt install php8.3-mbstring
sudo apt install php8.3-xml
sudo apt install php8.3-bcmath
sudo apt install php8.3-intl
sudo apt install php8.3-soap
sudo apt install php8.3-zip
sudo apt install php8.3-gd
sudo apt install php8.3-xsl

if pdo related issue displaying run below command & enable pdo extension

sudo apt install php8.3-mysql

Step [9] – Docker Command to find all installed images

docker images

Step [10] – Docker Command to find all installed volumes

docker volume ls

Step [11] – What is purpose of command “docker exec -it php bash”

docker exec -it php bash

It allows you to start an interactive Bash shell inside a running php container.

Open a Bash shell inside the php container.
Gain interactive access to the container, where you can:

  • Run Linux commands.
  • Explore or modify the file system.
  • Execute PHP commands or scripts.
  • Check log files, configurations, etc.

This is useful for debugging or managing running containers in real-time without stopping or recreating them.

Step [12] – What is purpose of docker-compose up -d --build

The docker-compose up -d --build command is used to start or rebuild Docker containers as defined in a docker-compose.yml file, with a few key actions:

Example Scenario

Let’s assume your docker-compose.yml file has the following services:

yamlCopy codeversion: '3'
services:
  web:
    build: ./web
    ports:
      - "8080:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
  • web: This service is built from a Dockerfile located in the ./web directory.
  • db: This service uses the official mysql:5.7 image.

When you run docker-compose up -d --build, the following happens:

  1. Docker Compose rebuilds the web service image using the Dockerfile in the ./web directory.
  2. It starts the web service on port 8080, mapping it to port 80 inside the container.
  3. The db service using the mysql:5.7 image starts with the root password set to example.
  4. Both services run in the background (detached mode), allowing you to continue using the terminal.

Step [13] – If command docker-compose restart do not put in correct path

Once put command docker-compose restart do not put in correct path as below

Step [14] – Navigate wsl2 file path in windows 11

Type \\wsl$\ in File Explorer

Step [14] –















































How To Install / Uninstall PHP, MYSQL, NGINX & Composer in Windows 10/11 WSL Ubuntu

Step [1] – Installation NGINX

sudo apt install
sudo apt install nginx
sudo service nginx start

Step [2] – Create Virtual Host File magento.conf

sudo nano magento.conf && chmod 777 magento.conf
upstream fastcgi_backend {
  server  unix:/run/php/php8.2-fpm.sock;
}

server {

  listen 80;
  server_name www.magento-dev.com;
  set $MAGE_ROOT /var/www/html/magento2;
  include /var/www/html/magento2/nginx.conf.sample;
}

Step [3] – To Create nginx virtual host symbolic link

sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/magento.conf

Step [4] – Inside /var/www/html/ below directory has been created

index.nginx-debian.html

Create magento2 folder

Step [5] – Go Windows > System 32 / Drivers / etc / host file

Set your virtual host here

Step [6]- Install PHP 8.3

sudo apt install php libapache2-mod-php php-bcmath php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip php-cli

Step [7] – Modify in php.ini file

To Find path of php.ini

php -ini | grep "Loaded Configuration File"
max_execution_time = 5000 

max_input_time = 5000 

memory_limit = -1

post_max_size = 900M 

upload_max_filesize = 900

Once all changes done in php.ini start php service below

sudo service php8.3-fpm start

Step [8] – Installation MYSQL

sudo apt install mysql-server

Step [9] – Start mysql Service

sudo service mysql start

Step [10] – Change Mysql Credentials

Mysql credentials as root / root123

Step [11] – Mysql Secure Installation

Step [12] – Create custom database with username / password

create database magento2461;

Create Mysql Username & Password to assign this database

create USER 'magento2461'@'localhost' IDENTIFIED  by 'TYfd1@#23asD';

Step [13] – Grant Permission assign database to user magento2461

Step [14] – Run flush privileges command

flush privileges;

Step [15] – Composer Installation

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php –install-dir=/usr/local/bin –filename=composer

To Check either composer working fine

Step [16] – Remove composer-setup.php

Once installed composer, It is file composer-setup.php created, we do not need this file, need to remove

Step [17] – Elastic Search Installation

sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-amd64.deb

Note:: this command will take smore time, please be patience !

sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-amd64.deb.sha512

shasum -a 512 -c elasticsearch-8.3.2-amd64.deb.sha512
sudo dpkg -i elasticsearch-8.3.2-amd64.deb

Once Below command run & display as ok — Elastic Search packaged installed.

shasum -a 512 -c elasticsearch-8.3.2-amd64.deb.sha512

Step [18] – Elasticsearch Start command

 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
 sudo systemctl start elasticsearch.service
 sudo systemctl restart elasticsearch

To check status of Installed Elasticsearch

sudo systemctl status elasticsearch

If the service is active (running), it should look like this:

Uninstall Nginx, PHP, MySQL, Elasticsearch, and Composer from WSL2 & Ubuntu, 

Follow these steps:

Step [1] – Uninstall Nginx:

bash

Copy code

sudo systemctl stop nginx

sudo apt purge nginx nginx-common nginx-full -y

sudo apt autoremove -y

sudo rm -rf /etc/nginx

Step [2] – Uninstall PHP (and its extensions):

Check for installed PHP versions first:

bash

Copy code

php -v

Uninstall PHP and its related packages:

bash

Copy code

sudo apt purge php* -y

sudo apt autoremove -y

sudo rm -rf /etc/php

Step [3] – Uninstall MySQL:

bash

Copy code

sudo systemctl stop mysql

sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* -y

sudo apt autoremove -y

sudo rm -rf /etc/mysql

Step [4] – Uninstall Elasticsearch:

bash

Copy code

sudo systemctl stop elasticsearch

sudo apt purge elasticsearch -y

sudo apt autoremove -y

sudo rm -rf /etc/elasticsearch /var/lib/elasticsearch

Step [5] – Uninstall Composer:

Simply remove the composer binary:

bash

Copy code

sudo rm /usr/local/bin/composer

Step [6] – Clean up any unused packages:

bash

Copy code

sudo apt autoremove -y

sudo apt autoclean

This will uninstall all the listed services and clean up residual files from your Ubuntu system.

How To Xampp & Composer in Windows 10/11

The following below steps to install composer in Windows 10/11

Step [1] – Download Composer

Step [2] – Click on Download composer folder

Click on Install for all users(recommended)

Step [3] – Click om Developer Mode–>Next Button

Step [4] – Directory auto selected C Folder by default, if you would like to modify composer installation in other folder as per need –> Next Button

Step [5] – Here we need to set path for xampp folder as

E:\xampp\php\php.exe

Click on Next Button

Step [6] – Finally Composer has been installed.

Step [7] – Finally run below command to check either Composer working fine or not.

How to Install Laravel on Windows 10/11

The following below steps to install Laravel on Windows 10/11, here we are considering XAMPP & Composer already installed in your system

Step [1] – Here we considered, Xampp & Composer has been installed in your system

Step [2] – To Check Composer working fine or not.

Step [3] – Run below Laravel Installation command

composer create-project Laravel/Laravel example-app

where example-app folder that is going to be created Once Installation Start

Step [4] – Go To inside Laravel created folder

Step [5] – Start the Laravel Server run below command inside Laravel created folder

php artisan serve

Step [6] – Finally run below command to check either Laravel Installation working fine or not.

http://127.0.0.1:8000



Explain Comparison Between BRD vs SRS vs FRD 

BRDFRD / FRSSRS
ScopeProject Objective, Project Scope, Stakeholders, Success Criteria
It depends on WHAT & WHY Project
All Detailed Granular Functional Requirement as form UML & Data Flow DiagramProject’s All Functional & Non Functional Requirement
Security, Performance, Reliability, Scalability Availability
Created ByBusiness AnalystFunctional AnalystBusiness Analyst
FocusWhat & Why Project is going to be createdDefines How the system will work to meet those business needs.detailed document (functional and non-functional )requirements & providing a final or comprehensive blueprint of the system
Audience Business Analyst, Stakeholders, Project /Product ManagersDevelopment Team , QA Team, Development Team , QA Team,
Prepared InInitial PhasePlanning PhasePlanning Phase
Example Need to improve customer experience through a new systemUsers can register, search for products, and purchase onlineThe system must handle 1,000 users with no more than 2-second response time

The Flow of BRD (Business Requirements Document) & FRD (Functional Requirements Document) or FRS (Functional Requirements Specification) & SRS (Software Requirements Specification)

First Created- BRD (Business Requirements Document)

Second Created – FRD (Functional Requirements Document) or FRS (Functional Requirements Specification)

Third Created – SRS (Software Requirements Specification)