• Home
  • Software Platforms Development

Tailor made software

Dedicated software systems are complete end products offering complete service in a specific area. They usually offer services to groups of users, and users can be geographically distant from different organizations. Software systems have two main users: administrators who configure system parameters, assign user rights, access levels, virtual groups, objects and characteristics to them, rights to use services and users - they use the system for its intended purpose. 


The most common need for such systems is observed in businesses where a high degree of optimization and automation of a number of basic processes can be achieved:

Document flow   Process, task, project management
Finance and Accounting Resource Management
Inventory and stocks Schedules and teams
Logistics and geographic features Analyzes and forecasts
Calculation of accounts, payment documents  

 


Creating a complex software system requires the incorporation of a number of specialized algorithms. Upon reaching a certain level of complexity, we move on to modular construction of the system - it is divided into functional modules that can work independently and the construction is performed module by module.


DEADLINES


The typical deadlines for developing and implementing a specialized system of medium complexity (up to 500 users, 10 processes, 500 sites, invoicing, CRM functions, ERP functions, electronic services for all users) should be as follows:

Initial discussion to specify objectives -1 month

High level analysis - phasing, budgets, complexity, dependency, modules, sequence -2 months

Preparation of detailed requirements -2 weeks / module

Solution description - method of implementation -1 week / module

Development in test environment -2 months / module

Feedback and corrections -1 week / module

Tests -1 day

Integration -3 days

Commissioning -1 day

Ensuring data integration -2 days

Support


 



 


Algorithms development
 

In the process of realization of complex business projects, software systems or innovative ideas it is necessary to develop specialized algorithms that serve specific tasks. They are distinguished by the complex computational logic, mathematical, algorithmic or graphical apparatus embedded in them. In the general case, these algorithms are applicable only to the specific task. Due to the complexity of the testing and verification process, it takes more time.
Web Trade offers the development of specialized algorithms in case of need to build a competitive marketing advantage or the need for a high degree of automation in order to optimize the activity.
 
 
SO FAR WE HAVE DEVELOPED A RANGE OF ALGORITHMS BETWEEN:

Algorithm for adaptive, self-learning analysis of the financial statements of the companies on BSE-Sofia

Algorithm for dynamic construction and structuring of product catalogs

Knowledge-based adaptive analysis algorithm for analyzing xls files with arbitrary syntax

Algorithm for compiling and calculating complex financial ratios

Algorithm for probabilistic prediction of football match results based on detailed statistical information

Algorithm for automated ranking of teams and players (football, basketball, hockey) by cups, championships and divisions, with complex accumulation of

Statistical information

Algorithm for generating and managing discount codes in an online store

Securities replenishment algorithm

Menu select - algorithm for flavored menu generation for a given number of people and taste preferences

Virtual catering table generation algorithm


MORE DEVELOPED ALGORITHMS CAN BE FOUND IN THE DETAILED DESCRIPTION OF IMPLEMENTED PROJECTS, SECTION "SPECIFIC KNOW-HOW".


SDP

DESCRIPTION OF THE PROCESS FOR DEVELOPING WEB TRADE SOFTWARE SYSTEMS


We use agile and scrum methodology to develop and implement our projects. Under unclear requirements, software development can take longer, so we use rapid prototypes to help our customers navigate and gain an idea of ​​design and functionality as early as possible and if necessary to make adjustments.


IN MOST PROJECTS WE WORK ON THE FOLLOWING PROCESS:

 

INITIAL DISCUSSION OF PROJECT PARAMETERS
  • OBJECTIVE: to establish a budget, to determine the number and type of internal and external users of the platform, custom processes, integration with external platforms, reporting, invoicing, the need to process and store information
    RESULT: budget and time for development and implementation, technology
HIGH LEVEL ANALYSIS
  • OBJECTIVE: Meeting at expert level with the contracting authority to determine the phases, divide the budget into phases, phase complexity and dependencies
    RESULT: solution for a complete or phased approach to development
CREATING DETAILED REQUIREMENTS FOR THE SOFTWARE SYSTEM
  • OBJECTIVE: a series of meetings with experts and internal users of the contracting authority to identify, collect and describe detailed requirements for processes, objects and data. Verification of the requirements by the contracting authority.
    OUTCOME: agreed and accepted detailed requirements
DESCRIPTION AND PROPOSAL FOR THE DESIGN OF THE SOFTWARE SYSTEM
  • OBJECTIVE: to transform detailed requirements into a software solution design proposal. Final clarification sessions with potential users.
    OUTCOME: a proposal with a detailed description of the design of the software solution
     
DEVELOPMENT IN A TEST ENVIRONMENT Develop each phase in a test environment. If desired, the client is included in the development team. It shall be given access to the test environment.
EARLY FEEDBACK AND CORRECTIONS Early sessions with system users identify potential adjustments and manage expectations accordingly.
TESTING Testing the platform for functionality - meeting initial requirements and software design.
INTEGRATION Integration with other software systems such as online payments, accounting and warehousing, invoicing, payment platforms, public authorities, notification and reporting systems, authentication, verification, registers, communication and notification.
DEPLOYMENT Settings for parameters, accounts, access levels, documents and processes. Commissioning
MIGRATION Convert historical data migration to the new platform
SUPPORT SERVICES Warranty and post-warranty support. Help Desk. Content management. Monitoring of the server part. Archives. 

 
 


Tools and Technology

DEVELOPMENT TOOLS


In the process of software development we use tools following the architectural model of MVC - Model View Controller. This model requires the separation of Business logic from the logic of input and visualization (GUI - Graphical User Interface). Business logic usually consists of data models such as users, documents, customers, etc., while the graphical interface is visualized in a Web browser.


The model is built according to the logic of the requirements for the functionality of software systems. For the purposes of model storage we use the relational database tool MySQL - relational database management system. It is most often used in combination with PHP in building web systems with a larger amount of information. MySQL is stored in tables and is created, processed and read by queries.
In order for the model to be complete, we add business rules to the data saved in the database, which are applied to the data. The visualization generates the user interface. For this purpose we use the HTML 5.0 tool, which visualizes on the User's Web Browser. The visualization does not retain data, it only passes through it. To standardize the visualization, we use the CSS tool - a language for describing styles (font, color, element spacing) of web documents - HTML, XML, supported by all popular browsers.
The controller accepts input requests from the user, determining whether the request is a visualization or a change in the model. The controller mainly uses the PHP tool - a scripting language for open source web programming, fast and pragmatic and widespread. As a coding environment we use PHP - PHP development environment, which works with front and technologies such as HTML5, JavaScript and CSS, has integration with version control systems, is equipped with tools for easier and faster work, navigation and refactoring code, debugging and testing.


When operating software systems, the Web Browser sends the user request to a Web Server, which in turn forwards the request to the router. The router, based on URL definitions, redirects to a specific controller. In some cases, the controller generates a preview request, where HTML is generated from a template and sent back to the Web Browser. In most cases, the controller interacts with the model that the PHP element communicates with the database and passes the result to the visualization.


In the development process we use: PHP OOP, Javascript, jQuery, Ajax, SOAP, JSON, XML, Db, MySQL, WEB, HTML / XHTML / DHTML, CSS, XML, Bootstrap


TECHNICAL CHARACTERISTICS. REQUIREMENTS FOR THE ENVIRONMENT


 
TECHNICAL PARAMETERS TOWARDS THE SERVER ENVIRONMENT OF THE SYSTEM:

  • Source code: Systems are developed in a high-level scripting language - PHP version 7.0.0.
  • Databases: System environments require a MySQL database version 5.7.19 or later.
  • Operating system: The system requirements for the OS are LINUX based Ubuntu or similar, the presence of an installed mail server to service notifications to users, the presence of a web server to serve HTTP requests to system clients.


TECHNICAL PARAMETERS FOR CLIENT TERMINALS


We develop systems with an intuitive and clean interface, which is displayed on the client's terminal via an Internet browser. The best compatibility of the system is obtained when using the Google Chrome browser, version 65.0 or higher. The systems are accessible through any browser using HTTP / HTTPS requests, but when used with other browsers or versions, there may be minor interface changes resulting from different interpretations of server requests and responses from different browsers. The systems are designed to work with a browser with "default settings" - ie. default settings, and changing these settings by the client or other software (eg e-signature and the like) may result in partial or even complete limitation of their functionality.
The systems have an adaptive interface and are respectively accessible through any type of device for permanent traceability and work with them, it can also be used via devices with a small display, eg phones and tablets, as the adaptive interface technology requires resizing screen elements, replacing them with larger ones, with a view to better readability.
 

WORKSTATION:

  • Pentium i3 processor or equivalent or larger
  • RAM 2GB or more
  • Windows 7 or higher; LINUX
  • Display: FHD -1920 x 1080

TABLET:

  • CPU 1GHz or higher
  • RAM 1GB or more
  • Andorid or IOS
  • Display: FHD -1920 x 1080, 10 "or larger

PHONE:

  • CPU 1GHz or higher
  • RAM 1GB or more
  • Andorid or IOS
  • Display: FHD -1920 x 1080, 5 "or larger