This page does not have a translation yet.

Details for the Software Registry

בקטע זה:

WP BOX is a software that installs server software on a Linux-based operating system using Docker, and on top of this server software installs WordPress, as well as its own and third-party plugins and themes using Composer and other necessary tools convenient for developing and launching websites.

Software architecture

WP BOX architecture has three layers responsible for the environment, server code and client code of the web application created using WP BOX.

1) Environment codebase

This layer is responsible for installing and configuring server software in containers, on which the application being created will subsequently run.

Configuring server software in containers allows you to run WP BOX with the same environment during local development and when deployed on a production server, which minimizes potential problems associated with differences in environments.

WP BOX installs containers for Nginx, PHP, Redis, NodeJS (used only for development), PostFix, CertBot, MariaDB or Postgre by choice, phpmyadmin or adminer with optimal settings.

2) Server-side codebase

This layer is responsible for installing PHP packages on which the server part of the web application will work. Some PHP packages are part of WP BOX and can be included in the basic delivery or taken out to download using composer.

WP BOX installs WordPress, libraries and plugins for this framework, and also performs initial migrations to create an empty database and provides its own template for use with WordPress. In addition, tools for ease of development are installed – PHP code linters with configuration and add-ons for the vscode IDE.

At the user’s discretion and independently, instead of the proposed server part, other software using PHP and the above software stack can be installed on the environment layer.

3) Client code

This layer is responsible for installing JavaScript packages that are only needed during development – for assembling and minifying resources.

This layer also configures the code linter, provides examples for developing components with React, which can be used without changes if desired, and configuration files for setting up different presentations of a web application with a single code base.

Functional details

  • interaction with hardware such as personal computers and servers;
  • provision of boilerplates and code examples for creating high-load capable web applications;
  • configuring the parameters of the web application through configuration files;
  • automation of installation and configuration of system and application software
  • availability for several operating systems – Windows, MacOS, Debian and similar Linux distributions

Information required for operating the software

To operate WP BOX, you must use a local or remote computer (server) with at least 3 gigabytes of RAM and 1 core of a modern-generation processor, on which you will need to pre-install the Docker and Make software packages.

Computers on MacOS Sonoma+, Debian 12+ as the main system and Debian 12+ as a subsystem are supported.

Software installation

Information required for software installation:

Installation may vary depending on your computer type and operating system.

Detailed step-by-step instructions for installation on Windows, MacOS and Debian are described in this article.

Description of software life cycle processes

Description of the processes that ensure the life cycle support, including troubleshooting and improvement, as well as information about the personnel required to provide such support:

Processes:

1) The software is supposed to be used in 2 or 3 simultaneous environments:

  • For development and testing, the software must be installed locally
  • (Optional) for close to real use, installed on a test server
  • For end users of the web application on a production server

2) The software assumes the use of a database storage and installs it itself.

  • The software has tools for manual data synchronization between the test, production and local installations
  • You can also set up one-way synchronization that prohibits updating the production server from the local one.
  • Else do not use this functionality at all and have independent data storage to restrict access.

3) For troubleshooting and improvement, the user must use a local installation, after testing, the changes must be synchronized with the production server. Depending on the layer of changes (environment or code), synchronization can be simple or require reinstalling the containers.

4) Software updates – the software does not have a universal update mechanism, but due to the open source code, the support staff can manually implement changes published in new versions of the software.

5) For the production and test server of the web application being created, you will need to pay rent or buy a server separately, as well as a domain name.

Staff:

The software package was written in such a way that it could be supported by just one specialist programmer – a senior developer with experience in PHP, Javascript and server software

If desired and possible, you can separately attract DevOps, a PHP programmer and a React developer for software maintenance and support, or more in each of these specialties. As well as a designer and specialists and other related departments.