# huesos Basis for developing chat-robots with "Web App" technology for Telegram ## Installation ### AnangoDB 1. Create a Graph with the specified values **Name:** catalog

**edgeDefinition:** entry
**fromCollections:** categoy, product
**toCollections:** category 2. Create a Graph with the specified values **Name:** sessions

**edgeDefinition:** connect
**fromCollections:** account
**toCollections:** session 3. Create indexes for the "product" collection **Type:** "Inverted Index"
**Fields:** name.ru
**Analyzer:** "text_ru"
**Search field:** true
**Name:** name_ru

*Add indexes for all search parameters and for all languages (search language is selected based on the user's language,
otherwise from the default language specified in the active settings from **settings** collection document)*

*See fields in the `mirzaev/arming_bot/models/product`
**name.ru**, **description.ru** and **compatibility.ru*** 4. Create a View with the specified values **type:** search-alias (you can also use "arangosearch")
**name:** **product**s_search
**indexes:** ```json "indexes": [ { "collection": "product", "index": "title_ru" # THIS IS AN EXAMPLE } ] ``` ### NGINX 1. Example of NGINX server file ```nginx location / { try_files $uri $uri/ /index.php; } location ~ /(?categories|products) { root /var/www/arming_bot/mirzaev/arming_bot/system/storage; try_files $uri =404; } location ~ \.php$ { ... } ``` ### SystemD (or any alternative you like) 1. Execute: `sudo cp telegram-huesos.service /etc/systemd/system/telegram-huesos.service` *before you execute the command think about **what it does** and whether the **paths** are specified correctly*
*the configuration file is very simple and you can remake it for any alternative to SystemD that you like* ## Settings Settings of chat-robot and Web App

Make sure you have a **settings** collection (can be created automatically) and at least one document with the "status" parameter set to "active" ```json { "status": "active", "project": { "name": "NAME_OF_THE_PROJECT" }, "language": "en", "currency": "usd" } ``` ### Language Language for render of interface, if account or session language is not initialized

**Value:** en
**⚠️ The value will be converted to an instance of enumeration** `mirzaev\arming_bot\models\enumerations\language` ### Currency Currency for calculations and render of interface, if account or session currency is not initialized

**Value:** usd
**⚠️ The value will be converted to an instance of enumeration** `mirzaev\arming_bot\models\enumerations\currency` ## Suspensions System of suspensions of chat-robot and Web App

Make sure you have a **suspension** collection (can be created automatically) ```json { "end": 1726068961, "targets": { "chat-robot": true, "web app": true } "access": { "tester": true, "developer": true }, "description": { "ru": "Разрабатываю каталог, поиск и корзину", "en": "I am developing a catalog, search and cart" } } ```