ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π° сайта.

ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹ΠΉ Π»Π΅Π½Π΄ΠΈΠ½Π³ (вСрстаСм ΠΏΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ) для SEO ΠΈ продвиТСния (с посадочными страницами для привлСчСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ.). Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΡ€Π½Π΅ Π΄ΠΎΠΌΠ΅Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ vgen.com. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ статичных HTML-страниц Π±Π΅Π· бэкСнда.

Административная панСль для рСгистрации ΠΈ управлСния заданиями. Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π΅ app.vgen.com. Для административной ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SSR с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ session cookie для контроля доступа ΠΊ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ.

User Stories

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ я Ρ…ΠΎΡ‡Ρƒ:

РСгистрация/ВСрификация

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ email ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. НСвСрифицированный Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму (ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ сообщСниС ΠΎ нСобходимости Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ). Для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΉΡ‚ΠΈ Π² ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ ссылкС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ. Бсылка Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 24 часов. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ сброса пароля для Π½Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ email ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ссылка Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.

РСгистрация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ googole auth

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ залогинится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ google auth ΠΊΠ½ΠΎΠΏΠΊΡƒ, вмСсто использования Π΅ΠΌΠ΅ΠΉΠ»Π°.

Бброс пароля

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² случаС, Ссли я Π΅Π³ΠΎ Π·Π°Π±Ρ‹Π». ОТидаю, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ ссылка Π½Π° сброс пароля. Бсылка Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 24 часов.

Авторизация

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, установлСнныС ΠΏΡ€ΠΈ рСгистрации.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ баланса

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ баланс Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ².

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ баланса

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ измСнялся баланс.

ПополнСниС баланса

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ баланс Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ суммы. НапримСр:

  • 10 000 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² β€” 10 USD
  • 30 000 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² β€” 25 USD
  • 70 000 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² β€” 50 USD

Π’Π°ΠΆΠ½ΠΎ: ΠœΡ‹ Π½Π΅ прСдусматриваСм ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΡ‡Π½ΡƒΡŽ модСль Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Ρ‹. Волько ΠΏΡ€Π΅Π΄ΠΎΠΏΠ»Π°Ρ‚Π°.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ списка Π·Π°Π΄Π°Π½ΠΈΠΉ

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список всСх созданных мною Π·Π°Π΄Π°Π½ΠΈΠΉ Π² систСмС.

БозданиС нового задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π²Ρ‹Π±Ρ€Π°Π² Ρ‚ΠΈΠΏ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ созданного задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΉΡ‚ΠΈ Π² созданноС Π·Π°Π΄Π°Π½ΠΈΠ΅ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Π½Π΅Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² (Π²ΠΈΠ΄Π΅ΠΎ, Π°ΡƒΠ΄ΠΈΠΎ).

Запуск задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ созданноС ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ статуса выполнСния задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ статус выполнСния Ρ€Π°Π½Π΅Π΅ созданных Π·Π°Π΄Π°Π½ΠΈΠΉ.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния задания.

ΠŸΠ΅Ρ€Π΅Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ задания

Π˜ΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ задания Π² случаС, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠ½Π΅ Π½Π΅ понравился (Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…).

ΠœΠ°ΠΊΠ΅Ρ‚Ρ‹ прилоТСния

balsamiq original vgen-auth.png vgen-dashboard.png

vgen-task.png vgen-tokens.png vgen-usage.png

Landing

Π›Π΅Π½Π΄ΠΈΠ½Π³ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

  • ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½ΡƒΡŽ страницу с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅
  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρƒ Terms of Service
  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρƒ Privacy Policy

ВсС страницы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ call-to-action β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° страницу рСгистрации Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅.

ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½Π°Ρ страница Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡƒΠΆΠ΅ сгСнСрированных ΠΊΠ»ΠΈΠΏΠΎΠ² (ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ 5-10 Π² Ρ€Π°Π·Π½Ρ‹Ρ… катСгориях).

ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½Π°Ρ страница Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ†Π΅Π½Π°Ρ….

ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½Π°Ρ страница Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ссылку Π½Π° Π±ΠΎΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Telegram.

Π’ Π»Π΅Π½Π΄ΠΈΠ½Π³Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… страниц ΠΏΡ€ΠΈ нСобходимости (Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠ΄Π°, Π»Π΅Π½Π΄ΠΈΠ½Π³ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).

Π›Π΅Π½Π΄ΠΈΠ½Π³ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ. Основной язык - английский. Π€ΠΎΡ€ΠΌΠ°Ρ‚ страниц Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄Π°:

  • /: главная страница Π½Π° английском
  • /uk: главная страница Π½Π° украинском
  • /terms: страница с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ использования (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ английский)
  • /privacy: страница с ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ английский)

SEO-оптимизация для Π»Π΅Π½Π΄ΠΈΠ½Π³Π° ограничиваСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ настройками:

  • meta-Ρ‚Π΅Π³ΠΈ
    • title
    • description
  • json-ld
    • schema.org organization
    • schema.org site
  • HTML
    • h1/h2 tags

Π― Π½Π΅ Π²ΠΈΠΆΡƒ смысла ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΠΎΠ²Π°Ρ‚ΡŒ систСму ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² Π² Π»Π΅Π½Π΄ΠΈΠ½Π³ ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ страниц, поэтому ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ страницы с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ языками Ρ€ΡƒΠΊΠ°ΠΌΠΈ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (APP)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся MPA с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ session-based Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ SEO ΠΈΠ»ΠΈ SSR, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ отсутствуСт доступ для Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· weblate.

Π’ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ прилоТСния ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ стандартныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ β€” максимально простой, Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½. ΠœΡ‹ Π½Π΅ создаСм custom-вёрстку ΠΈ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов интСрфСйса.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² DWH (BigQuery)

Помимо хранСния балансов ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ… Π² D1, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² BigQuery Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π°.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сСссии

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ я Ρ…ΠΎΡ‡Ρƒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ:

  • timestamp β€” врСмя Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • ip β€” IP-адрСс
  • geo β€” гСографичСскиС Π΄Π°Π½Π½Ρ‹Π΅
  • useragent β€” Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°/устройства
  • action β€” Ρ‚ΠΈΠΏ дСйствия: login/signup (Π²Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ рСгистрация)
  • userid β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • email β€” email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСмС

ИзмСнСния баланса Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²

КаТдоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ баланса ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° измСнСния баланса Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

  • timestamp β€” врСмя Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
  • userid β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • email β€” email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • action β€” Ρ‚ΠΈΠΏ дСйствия: topup, used, manual
  • diff β€” количСство Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
  • old_balance β€” баланс Π΄ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
  • new_balance β€” баланс послС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

Π’Π°ΠΆΠ½ΠΎ: здСсь ΠΌΡ‹ Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ ΠΈΠ½Ρ‹Π΅ финансовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” это ΠΈΠΌΠ΅Π½Π½ΠΎ Π»ΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ количСства Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², привязанных ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π›ΠΎΠ³ запуска Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΉ

Π£ нас Π½Π΅Ρ‚ доступа ΠΊ Π»ΠΎΠ³Π°ΠΌ API, Π½ΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ задания ΠΌΡ‹ запускали. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запускал ΠΊΠ°ΠΊΠΈΠ΅ задания ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ID. НашС API Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚ (удаляСт) ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΠ΅ задания, Π±Π΅Π· Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π»ΠΎΠ³Π° Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • timestamp β€” врСмя запуска
  • userid β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • email β€” email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • taskid β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ задания
  • task_properties β€” свойства задания (to be defined)

Admin API

Π’ связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ панСль, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ балансами.

ВсС API ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ фиксированного admin-token, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Authorization. Π’ΠΎΠΊΠ΅Π½ задаСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния прилоТСния.

ИзмСнСниС статуса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

PUT /api/internal/user
{
  "userID": "njknjk",
  "status": "activated | new | blocked"
}

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ письмо Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ большС Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ИзмСнСниС баланса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

PUT /api/internal/balance
{
  "userID": "ndskd",
  "diff": "100 | -100"
}

ΠœΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ старом балансС, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Π½ΠΎΠ²ΠΎΠΌ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ балансС. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ количСство Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Analytics

Для сбора Π²Π΅Π± Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Π½Π° сайтС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Google Tag Manager. ΠŸΡ€ΠΈ этом для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ userId ΠΈ email ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² dataLayer. Π’Π½ΡƒΡ‚Ρ€ΡŒ GTM Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ GA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ Ρ‚Ρ€Π΅ΠΊΠ°Π» page-views ΠΈ userID dimension. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ настройка GA - out of scope.

Для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· BigQuery ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ MetaBase (Π΅Π³ΠΎ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ находится Π²Π½Π΅ области Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½ Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, ΠΈ ΠΌΡ‹ просто Π²Ρ‹Π΄Π°Π΄ΠΈΠΌ доступ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ списку ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ).

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ‚ΠΎΠΊΠ΅Π½Π°

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΊΠΎΠ½Ρ„ΠΈΠ³, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ prices.ts, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

prices = [
  {
  name: "small",
  price: 1000, // 10usd, denomination 100
  tokens: 10_000,
  discount: 0,
  },
  {
  name: "medium",
  price: 3000, // 30usd, denomination 100
  tokens: 30_000,
  discount: 5, // Ρ€Π°Π·ΠΌΠ΅Ρ€ скидки Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…
  },
   {
  name: "large",
  price: 5000, // 50usd, denomination 100
  tokens: 70_000,
  discount: 10, // показываСтся свСрху панСльки с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Ссли ΠΎΡ‚Π»ΠΈΡ‡Π½Π° ΠΎΡ‚ 0
  }
]

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ внСсти ΠΏΡ€Π°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³. ΠŸΡ€ΠΈ этом ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ Π΄Π΅Π²Π°ΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π±Π°Π½Π΄Π»Ρ‹, рСгулируя ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ покупатСлям ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ дСшСвлС)

ΠŸΠ»Π°Ρ‚Π΅ΠΆΠ½Π°Ρ систСма

Как ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ https://api.apay.pp.ua/docs/api. Под ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ onramp-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘. Π’ Ρ†Π΅Π»ΠΎΠΌ идСя β€” ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΡƒΡŽ систСму ΠΎΡ‚ сСрвиса, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ, Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ‚.ΠΏ.).

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ публикуСтся Π½Π° Cloudflare. ΠŸΡ€ΠΈ нСобходимости Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ DDoS-Π·Π°Ρ‰ΠΈΡ‚Ρ‹, rate-limiting ΠΈ Ρ‚.Π΄. ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», встроСнный Π² Cloudflare ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄ΠΎΠΌΠ΅Π½Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΡ‹ Π½Π΅ прСдусматриваСм.

ВрСмя ΠΆΠΈΠ·Π½ΠΈ сСссии β€” 7 Π΄Π½Π΅ΠΉ. Бброс сСссии происходит ΠΏΡ€ΠΈ смСнС страны ΠΈΠ»ΠΈ смСнС User-Agent.

Π€Π°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ валидация Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ). ΠœΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ прСдоставят список допустимых Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π’Π°ΠΆΠ½ΠΎ: Cloudflare Π½Π° Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… Ρ‚Π°Ρ€ΠΈΡ„Π°Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Тёсткий Π»ΠΈΠΌΠΈΡ‚ Π² 100 ΠœΠ‘ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ payload.

ΠœΡ‹ Π½Π΅ сохраняСм Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния β€” сразу ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ ΠΈΡ… дальшС Π² API ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Никакой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ происходит.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ограничСния:

  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°: 100 ΠœΠ‘
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²ΠΈΠ΄Π΅ΠΎ: MP4, MOV, AVI
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π°ΡƒΠ΄ΠΈΠΎ: MP3, WAV, M4A
  • ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: 3

Email-увСдомлСния

ЀактичСски ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ email-адрСса. Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ писСм ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Mailgun (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΈΠ»ΠΈ API-ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΡ‚ Π½Π΅Π³ΠΎ).

Π’ΠΈΠΏΡ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ:

  • ВСрификация email ΠΏΡ€ΠΈ рСгистрации
  • Бброс пароля

User Engagement

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ сcustomer journey ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΈΠ½Π΅Ρ‚Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ customer.io. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ рассылок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ сustomer.io ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ bigquery ΠΊΠ°ΠΊ источник Π΄Π°Π½Π½Ρ‹Ρ… для Customer. ΠŸΡ€ΠΈ этом Π½Π° сайтС Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… JS ΠΊΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Environments ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅

ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΡ

ΠœΡ‹ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅ΠΌ Π΄Π²Π° окруТСния β€” staging ΠΈ production. Для удобства ΠΌΡ‹ разносим ΠΈΡ… Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹:

  • Staging: находится Π² Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ Π·ΠΎΠ½Π΅ pages.dev ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Cloudflare Workers ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
  • Production: привязываСтся ΠΊ production-Π΄ΠΎΠΌΠ΅Π½Ρƒ

ΠŸΡ€ΠΈ этом Π±Π°Π·Π° D1, KV ΠΈ environment-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρƒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ нСзависимы.

Риски

ΠœΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² API. Workers ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, связанных со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ исполнСния, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠœΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с API (ΠΌΡ‹ попросили внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΅Ρ‰Ρ‘ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ).

Π€Π°ΠΉΠ»Ρ‹ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ спустя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹ΠΌ ситуациям с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ (Ρ‚.ΠΊ. задания, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΈΠ· списка). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³Π΄Π΅-Ρ‚ΠΎ большой дисклСймСр ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ сСбС.

Бсылка Π½Π° ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²Π΅Π΄Ρ‘Ρ‚ Π½Π° Π΄ΠΎΠΌΠ΅Π½ API, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΅Π³ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ прямой Π°Ρ‚Π°ΠΊΠ΅ Π½Π° Π½Π΅Π³ΠΎ (Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сохранСниС сгСнСрированных Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Cloudflare R2).