Technique used Description
Data Structure
Relational database Stores logically interconnected data entities
possible to be inserted, updated and deleted
with use of complex SQL queries in order to
present the user with structured and dynamic
data manipulation based on their input
Algorithmic thinking
Real-time session management Provides user with a possibility to safely log in at
any time and place and manipulate their account
using database queries
Complex SQL queries Provide user with a possibility to selectively
display various data based on the input
Multifarious variables Used of multiple local PHP and server-side
temporary session variables that allow sessions
management and enhanced security
Nested loops Used to properly display page content and
retrieve crucial database records in a structured
manner. Additionally, used in complex data
summation algorithms in the reports generation
feature
Arrays, dynamic arrays, multidimensional arrays Used to store retrieved database records and/or
tables in the process of data selection as well as
the reports generation process
Simple selection Used in the form of if, else and if else conditions
during data filtering, validation, sanitisation and
verification
Complex selection Used in the form of nested if, else and else if
conditions during application of complex SQL
queries
Data searching and filtering Use of complex queries to display data matching
user's input and generate various, compound
reports
Data sorting Use of arrays and conditions to ensure proper
order of the inserted/retrieved data, both in the
records display and report generarion
Predefined functions Use of PHP built-in functions, including
file_exists, readfile, mysqli_fetch_assoc, isset,
require, file_get_contents, json_decode,
filter_var, strlen, htmlentities, ent_quotes,
ctype_alnum, move_uploaded_file,
mysqli_connect_errno, throw_new, header,
password_hash, strtotime, visual FPDF functions
and others
User defined functions Use of self-made functions utilised in the
JavaScript scripts and the report generation PHP
files
Inputs hashing Used to ensure security by hashing the
passwords with CRYPT_BLOWFISH algorithm
, Software tools
Various file types Use of text and image external files during
development of the solution
Various programming languages Use of HTML, CSS, PHP, JavaScript and SQL
languages during development of the solution
Additional libraries Use of jQuery and CSS additional libraries for
optimisation purposes
External tools connected with libraries Use of FPDF attached library, tools and
predefined functions to generate PDF files,
making up for limited PHP possibilities in this
matter
Independent hosting service Use of a free, independent and secure server
000webhost.com
Local hosting platform Use of XAMPP localhost during solution
development and testing
Google Captcha service Use of Google function for web developers
during bot prevention coding
Independent database Used to store the website data, managed with
use of PHPmyadmin