Updates and maintenance for PHP sites

Updates and maintenance for PHP sites

February 21, 2018

PHP is a programming language for the creation of websites and high-load web applications. The largest resources written in PHP are Facebook (recognized as an extremist organization by the Russian government), VK and Wikipedia. The creation, updating and maintenance of PHP sites has been carried out by EDISON specialists on many occasions.

The language appeared in 1995. Rasmus Lerdorf of Denmark created a simple application based on Perl to analyse the number of visitors to the webpage hosting his resume; he called his invention Personal Home Page and released it for free download. When other people started to use the application the necessity for an update arose. The new tool created by Lerdorf in C became known as PHP2 and was already beginning to look like the PHP of today, which:

  • Cooperates with many database management systems
  • Automatically sends HTTP headers
  • Works with cookies, sessions, and XForms
  • Processes files uploaded to the server
  • Has automatic form interpretation
  • Works with local and remote files

With the help of PHP, developers can quickly and easily create and service web applications, develop highly configurable html pages, support websites' server sides, and integrate web applications with other software products.

Due to the popularity of the language, PHP programmers are in high demand. Nevertheless, PHP is easy to learn and some self-taught programmers even consider themselves specialists, the lack of any practical experience in using the language notwithstanding.

Updating a PHP site requires getting to grips with somebody else's code of unknown quality and is necessary in the following situations:

  • The previous contractor hasn't finished the project
  • Mistakes made by the previous contractor were discovered
  • The resource has run its course
  • New functions are needed

Web updates include:

  • Website redesign
  • Translation of website texts into another language
  • Search engine optimisation (SEO)
  • Elimination of errors caused by the load growth and operating the resource
  • Addition of new functions (for example the creation of a product catalogue of payment by credit card)
  • Reduction of response time
  • Correction of data replication
  • Error correction

VEP Groupe

Gold mining company website on WordPress

Visual identity and logo for the company, website with a widget to automatically update and display gold prices.

  • Lazy loading of images on the site;
  • Images outlining the company's development and production sites using Google Maps API in the ‘Activities’ and ‘Opportunities’ sections;
  • Creating a chart showing changes in the price of gold and displaying it on the website using the D3.js library;
  • Automatic updates to price information using the Quandl API in the gold price widget;
  • Vector SVG map for the ‘About us’ page;
  • Loading of different images depending on the size of the user's screen to economize traffic.
Vepgroupe

Kompstar

Online household appliance shop

Redesign and update of an online shop for household appliances with a selection of more than 700,000 items (including archived products). The information is replicated from the database of an internal product management system.

  • Integration with Yandex.Market and parsing of customer comments from the site.
  • Interaction with Carrot Quest.
  • Search engine optimisation (SEO).
  • Automatic generation of a site map.
  • Service centre development.
Kompstar main
Kompstar service

South China

A Russian–Chinese information portal in Drupal

Update of an information portal for publishing news about China, Russian–Chinese cooperation, advice for students of the Chinese language, interviews and other related content.

  • Added a Chinese version of the site.
  • Improved the inbuilt Russian–Chinese translator.
South insight main

We book!

Travel agency

Update of a website for searching for and booking hotels. The system consists of a client side and a user side allowing users to book hotels online. The first block is designed for managing hotel booking requests, hotel descriptions and prices. When a room is reserved by a user in the user side, invoices are drawn up automatically in the client side. The client receives an SMS notification. Development of hotel parsing via a partner program API. Implementation of a mechanism for translating and transliterating hotel names into Russian. A significant increase in the website's operating speed.

Yarmarka

Free classified ads newspaper

Update of a service for discovering and posting free ads on a regional scale. The system is designed for simultaneous access by more than 1,000 users.

WmBox

Automatic currency exchange

Update of an automatic currency exchange with functionality for withdrawing money to a bank card. The system consists of a client side and a user side. The first block shows a full list of users' transactions. Exchange directions and system commissions can be managed. A user account with cumulative discounts and a referral programme is available. Vulnerabilities have been identified and eliminated. The following payment systems have been enabled: OkPay, EgoPay, Perfect Money and Bitcoin.

Wmbox main

Spartex

Kazakh cart parts shops on Bitrix

Development of an online car parts shop. Search by department for both in-house warehouses and third-party organisations has been created. A separate web service has been designed for processing queries from competitors. A function for obtaining statistical data about the shop's logistics has been implemented. An itinerary has been created for tracking the movements of parts. Information about the company and short financial summaries can now be uploaded. Total company balance presented in 1-ТС form in Excel with several filters (accounting data, information about local warehouses).

Spartex main
Spartex catalog

MPARTS

Online car parts shop in Yii

Update of the client and user sides of a site for buying and selling car parts. Products are searched for in the TecDoc database integrated into the site with the help of Sphinx technology. Online purchase of products is available. The client side provides for management of users, requests, goods, user discounts, and requests from users looking for parts; import of entries for goods from suppliers via Excel is provided for; extra charges are automatically added to the goods depending on the supplier's settings.

Update stages:

  • Site debugging and elimination of current errors
  • Speeding up import of products from Excel
  • Displaying prices in the catalogue accounting for customer discounts
  • Update of car part search by car's VIN
  • Update of module for parsing manufacturer's description and logo
  • Changing the logic for the user shopping cart
  • Transfer of the site to a server in Kazakhstan
MPARTS user profile
MPARTS cart

Dry Harder

Laundry 2.0 on Laravel

Update and maintenance of a dry cleaner's website. The user side contains information about services, promotions and price lists as well as an order form. After registration a user can access their account containing personal statistics and displaying current order information and status, history, feedback forms and order forms, and registration information. CloudPayments and Yandex.Money payment system APIs are used for payments in the user account; there is an option for saving the details of several bank cards to pay with tokens or set up automated payment. The client side includes a list of orders, feedback and a page for managing automated payments. The website functionality is closely integrated with the AGBIS dry cleaner and laundry automation program.

Scope of work carried out:

  • Error correction and interface update
  • Website load time optimisation
  • Elimination of errors in the website functionality logic
  • Production server administration
  • Porting the site to https including interaction with third-party services
  • Update of order form integration with amoCRM
  • Paperwork
Dryharder - personal account
Dryharder - create order
Dryharder - current orders

TaxiAgent

Taxi service in Zend and Java

Taxi service update to obtain an SaaS solution. The taxi integration service consists of a web interface and a set of modules. Interaction of drivers, partners and third-party aggregators is set up and organised via a web interface. Server modules distribute between themselves the tasks of assigning and tracking orders, managing the flow of funds within the system, synchronisation with third-party aggregators, and interaction with taxi dispatchers.

Update includes the following components:

  • Access rights system
  • Statistics for partners
  • Statistics for administrators
  • Synchronisation with Uber, Yandex and Gett via API
  • Cooperation with UP&UP taxi dispatcher
  • System for order distribution among the drivers
  • Automatic driver creation in third-party aggregators
  • Balance of partners
  • Balance of drivers and aggregator balance synchronisation
  • Update of existing forms for a new rights system, with differentiation of access
  • Organisation of flows of funds within the system
  • Billing system
  • Tariff system
  • Functionality for partners and drivers to add funds using bank cards and wallet service
  • Creation of payroll for upload to 1С
TaxiAgent - for leader
TaxiAgent - main
TaxiAgent - finance

Rezident Taxi

Taxi management and traffic control system in Yii

Update of the user account of a taxi service website. Order integration with taximeter: when an order is issued on the website it goes to the taximeter and can then be accepted by a driver. The administrative side enables management of users, pages, banners and other website settings. Completed orders can be exported into Excel in the user account. Taxis can be called from the website homepage, stating the pick-up point and time, and providing a phone number.

Updates:

  • Elimination of current errors on the website
  • Creation of an operator user account
  • Choice of vehicle class
  • Order cancellation
  • Changes to user account interface
  • Functionality allowing users to change passwords
  • Functionality for ranking orders
  • Displaying the cost of completed orders
  • Possibility of creating duplicate orders and choosing a date
  • Integration with taxi dispatcher service RBTaxi
  • Integration with taxi dispatcher service Now Taxi
Rezident Taxi categories
Rezident Taxi create order

Modern Photography Technique

Photo and video equipment rental on Yii and Joomla

Requests from the catalogue are fed directly into the CRM. Based on the application, a lease agreement and return certificates are created. The planner takes into account the availability of equipment, automatically excluding the possibility of double booking or overlap. A list of counterparties is maintained. The rental price is calculated according to certain formulas, which depend on duration, discounts, and peak rental periods.

Rentaltss main
Rentaltss list
Rentaltss order

Wismo

Updating the store

A marketplace that allows sellers to display their products on a common showcase through the use of a personal dashboard. Courier delivery and pickup operates in Moscow, Voronezh, Tambov, Kursk, Yelets, Stary Oskol and Gubkin.

Wismo main
Wismo basket

aviabileti.kg

Flights to Kyrgyzstan on Yii and Bootstrap

Support and improvement of the existing air ticket office. Booking tours from partners, formulating a list of hot tours, integration with partner services, setting up the commission of tour operators, in addition to finalizing the air ticket search form.

Aviabileti main
Aviabileti list

Art-Karat

Mobile application and website

Development of a neural network for the brand Svetlov of the Belgorod jewellery factory Art-Karat. The customer takes photos of any jewellery using a mobile application, and the neural network selects the most suitable jewellery made by Art-Karata in appearance and presents a purchase link that leads to the website. Implemented using Bitrix, PHP, Node.js, Cordova, and Android.

Svetlov main
Svetlov catalog

Raising children

A navigator for modern parents

EDISON was tasked with the development of a backend and a frontend for an information and educational portal for parents with children under the age of 18, living in different regions of the country. The customer was the Federal State Budgetary Institution's ‘Center for the Protection of the Rights and Interests of Children’. This was a socially significant and useful project created as part of the implementation of the National Project for Education. The stack used for the back-end was written in PHP 7.4, PostgreeSQL 11 and Redis 5. The front-end was written in Nuxt.js and Vue.js.

Raising children main
Raising children baby
Raising children expert

Good Project

A freelancing platform

By order of a BTL agency, a website was created and files were copied over from the old site written in PHP and JavaScript. ‘Good Project’ works as a platform where the customer lays out the task, and the freelancer brings it to life.

Access is provided for three types of users.

  • Ordinary users (freelancers), who fill out information about themselves, including their banking information.
  • Administrators, who manage users.
  • Super administrators, who manage payments.

In automatic mode, data is sent via API to the payment system. The system is designed for paying many users at once.

Good project main