> For the complete documentation index, see [llms.txt](https://omarapay.gitbook.io/omarapay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://omarapay.gitbook.io/omarapay/technology-overview.md).

# Technology Overview

All customer data stored on the website is protected against unauthorized access by third parties.\
Technical documentation and summary of what is included in the Source code that currently operates in the domain <https://omarapay.com> Technically, the backend is written in PHP and divided into the main core system (API) and microservices cooperating with it.

Technical:

&#x20;\- PHP version 7.1.3

&#x20;\- Symfony framework version 4.2

&#x20;\- the project uses the Redis cache system for queuing operations

&#x20;\- Mysql relational database as the main database of the system

&#x20;\- MongoDB non-relational databases for storing large amounts of data, e.g. Information about transfers from wallets

&#x20;\- the system uses WebSocket servers to handle events over real time

&#x20;\- the system uses the Binary Calculator to handle mathematical calculations about

high precision.

&#x20;\- has a translation system that supports multiple i18n language versions

The main core of the system.

&#x20;\- User API: JWT token based user authorization

&#x20;\- private API of the system, authorization based on the KEY API

&#x20;\- API of the system responsible for the administration panel, API-based authorization

KEY

&#x20;\- Public API available without authorization

User API:

Currency

&#x20;\- Downloading available types of currencies

&#x20;\- Downloading a list of available currencies

Internal transfer:

&#x20;\- Confirming the previously ordered internal transfer with the code from the message

e-mail or google auth 2FA code

Notifications:

&#x20;\- Marking a notification as read

&#x20;\- Get a list of the latest notifications

Orders:

&#x20;\- creating a new order

&#x20;\- downloading the created order

User:

&#x20;\- downloading the currently logged-in user

&#x20;\- updating user data after sending the appropriate form

&#x20;\- downloading wallets of a given user

&#x20;\- downloading one wallet of a given user

&#x20;\- downloading user orders

&#x20;\- downloading user transactions

&#x20;\- retrieving the user's login history

&#x20;\- Google Authenticator configuration download

\- turning off Google Authenticator

&#x20;\- Google Authenticator activation

&#x20;\- setting the default language for the user

&#x20;\- sending the SMS code to the number of the currently logged-in user for verification

&#x20;\- confirming the phone number by entering the appropriate code from the SMS

&#x20;\- changing the phone number

&#x20;\- downloading user account numbers

&#x20;\- creating a link to the command system

&#x20;\- download a link to the command system

&#x20;\- download a list of people who have registered from recommending a given user

&#x20;\- getting profits from the referral program\
\
\ <br>
