Telegram Mini App՝ մինի խաղերով և առաջադրանքների համակարգով
Հավելված Telegram-ի ներսում՝ իրական ժամանակի գրաֆիկով, պարգևների մակարդակներով և ռեֆերալ ծրագրով
Նախագծի մասին
Հաճախորդի արտադրանքը նախատեսված է Հնդկաստանի լսարանի համար, որն ապրում է Telegram-ում․ խաղերը, դրամապանակը և առաջադրանքները պետք է բացվեն մեկ պատուհանում՝ առանց տեղադրման և առանձին գրանցման։ Գումարները ռուփիով են, վճարումներն ընդունում է արտաքին պրովայդեր։ Անհրաժեշտ էր աշխատող հիմք, որի վրա կարելի է ավելացնել խաղեր և մեխանիկաներ։
Ինտերֆեյս
Տեխնոլոգիաների ստեկ
Առաջադրանք
Ստեղծել հավելված Telegram-ի ներսում Հնդկաստանի լսարանի համար՝ մուտք առանց գրանցման, դրամապանակ ռուփիով, մինի խաղեր, իրական ժամանակի գրաֆիկ, առաջադրանքների համակարգ և ռեֆերալ ծրագիր։
Սահմանափակումներ
Հավելվածն ապրում է Telegram-ի ներսում․ մուտքը միայն Telegram-ի ստորագրված տվյալներով է, իսկ ինտերֆեյսը նախատեսված է հեռախոսի համար։ Համալրումն անցնում է արտաքին վճարային պրովայդերի միջոցով՝ ստորագրված հետադարձ կանչերով։ Գնի գրաֆիկը չի կարելի կառուցել յուրաքանչյուր հաճախորդի մոտ առանձին․ բոլոր օգտատերերին անհրաժեշտ է բորսայից տվյալների մեկ ընդհանուր հոսք։ Խաղի արդյունքը միշտ հաշվարկում է սերվերը, հաճախորդը ոչինչ չի որոշում։
Լուծում
Ֆրոնտենդը գրեցինք React-ով, սերվերային մասը՝ Go-ով, PostgreSQL-ով և Redis-ով։ Սերվերը պահում է բորսայի հետ մեկ ելքային կապ, մեկ վայրկյանանոց մոմերը պահում է Redis-ում և WebSocket-ով տարածում հաճախորդներին։ Իրականացրինք մինի խաղեր, բախտի անիվ, պարգևներով առաջադրանքների 60 մակարդակ և ռեֆերալ ծրագիր։ Python-ով բոտը կոճակով բացում է հավելվածը և ընդունում ռեֆերալ հղումներ։ Ամեն ինչ հավաքված է Docker Compose-ում nginx-ի հետևում։
Դժվարություններ
Առաջադրանքներն ու պարգևները տարբեր տեսակների են, ուստի դրանք նկարագրեցինք պոլիմորֆ մոդելով՝ մակարդակի ավտոմատ բարձրացմամբ։ Գանձումը, արդյունքի հաշվարկը և առաջադրանքների առաջընթացի թարմացումը կատարվում են մեկ գործարքում։
Հետագա զարգացում
Խաղերը, առաջադրանքներն ու պարգևները սահմանված են տվյալներով և առանձին մոդուլներով, ուստի խաղերի հավաքածուն և մակարդակների պայմանները կարելի է ընդլայնել առանց միջուկը վերամշակելու։
Արդյունք
Գործարկեցինք Mini App՝ մուտք Telegram-ով, դրամապանակ՝ համալրմամբ և բոնուսային արժույթի փոխանակմամբ, մինի խաղեր, գնի իրական ժամանակի գրաֆիկ, առաջադրանքների և պարգևների 60 մակարդակ, ռեֆերալ ծրագիր։



