Örnek: grup masraflarını sohbetin içinde bölen bir Telegram Mini App
Gezi, ev veya küçük ekip için somut bir Mini App: gruptan aç, kim ödedi kaydet, borçları sadeleştir, Stars, fatura veya TON ile mahsup et. `chat_instance` neden çalışma alanıdır, ve ilk neyi kurardım.
Grup zaten varken acı bir elektronik tabloysa uzandığım Mini App budur. Dağa gezi. Kiralık evde dört kişi. Müşteri yemeğini bölen küçük bir ekip. Biri hep öder, biri hep «sonra atarım» der ve o sonra kimsenin açmadığı bir Google Sheet’te yaşar.
Settler ve Fracti şekli zaten kanıtladı: harcamayı grupta kaydet (metin, ses veya panel), bakiyeleri Mini App’te göster, bir dokunuşla mahsup et. Birinci günde onların AI ses ayrıştırıcısını yeniden kurmazdım. Defteri ve mahsup düğmesini kurardım. Ürün budur.
1. Bu örnekte kullanıcı yolu
Çalışma alanı gruptur. Kimse «Alpler 2026» adlı bir hesap açmaz. Botu ekler, menüden Mini App’i açar - defter zaten bu sohbettir.
- Biri botu gruba ekler. Bot, bölüşme listesinin sohbetteki insanlar olması için üyelik izni ister - e-posta formu değil.
- Olena bungalov için 2400 UAH ödedi. Mini App’i açar, tutar, başlık, kimler dahil. MainButton = kaydet. Başarıda haptic. Bot gruba tek satırlık makbuz atar ki diğerleri henüz uygulamayı açmak zorunda kalmasın.
- İsteyen sonra Mini App’i açar ve «Andriy, Olena’ya 600 borçlu» görür. Matris değil. Sadeleştirilmiş bir çizge. Her kenarda bir «mahsup» düğmesi.
- Mahsup: ödendi işaretle (güven), Telegram faturası / Stars gönder, veya grup parayı zaten öyle taşıyorsa TON. Bot grupta «mahsup edildi» der. Kenar kaybolur.
2. Neden yalnızca bot değil Mini App
Bir metin bot «/paid 2400 bungalov» kaydedebilir. İstisnalı adil bir bölüşme gösteremez, dünün yemeğini düzenleyemez, komut zinciri olmadan Andriy’nin Olena’ya bir dokunuşla ödemesine izin veremez. Sohbet gelen kutusudur. Panel UI’dır.
- İsteğe bağlı: gruptaki bir bahsetme - «@splitbot akşam yemeği için 50 ödedim» - taslak oluşturur. Mini App’te onayla. Fracti’nin sihir gibi durması bundandır. Onayı atlarsanız çöp satırlar da bundan çıkar.
- `chat_instance` birincil anahtardır. Aynı insanlara sahip iki grup iki defterdir. Kullanıcı id’leri örtüşüyor diye birleştirmeyin.
3. İlk neyi kurar, neyi kurmazdım
İlk sürüm sohbetli bir hesap makinesidir. Bankalar ve vergi raporlarıyla Splitwise değildir.
- İlk kurun: masraf ekle, eşit bölüş, bir kişiyi çıkar, borçları sadeleştir, mahsup işaretle, grupta bot makbuzu, her yazımda HMAC.
- Sonra: grubun zaten kullandığı tek bir mahsup rayı. Ukrayna’da çoğu zaman bir Mono faturası veya «gönderdim, onaylamak için dokun». Tutarlar küçük ve dijitalse Stars. Cüzdanlar grupta zaten varsa TON.
- İlk kurmayın: buruşuk fiş OCR, ses NLP, kira şablonları, canlı kurla beş para birimi, herkese açık profil. İlk defter iki kez kullanılırsa bu ikinci aydır.
4. Bir bölüşme uygulamasını öldüren iki hata
Yanlış matematik ve eksik insanlar. Gerisi ciladır.
- Borçları min-cash-flow geçişiyle sadeleştirin, sonra çift başına bir sayı. Ham bir NxN matris gösterirseniz insanlar onu başka bir tabloya ekran görüntüsü alır.
- Gruptan çıkan kişi eski masraflarda kalır, yenilerinden düşer. Her satırda üye kümesinin anlık görüntüsü. Geçmişi bu geceki listeye göre yeniden hesaplamayın.
Bölüşme Mini App’i bir defterdir, grup odadır
Bunu bir gezi kulübü, coliving, küçük bir ajans veya para yüzünden zaten kavga eden WhatsApp tarzı herhangi bir Telegram grubu için kurardım. Next.js paneli, `chat_instance` ile Postgres defteri, yalnızca makbuz ve mahsup hatırlatması atan bir bot, tek ödeme rayı. Grubunuz buysa - formdan yazın. Bu ay gerçek bir yemeği kaydedecek ilk sürümün kapsamını birlikte çıkaralım; pizzayı kimin yediğini hayal eden bir AI değil.
Sadece okumak değil, kurmak mı lazım?
Telegram Mini App geliştirme: Next.js, ödemeler, botlar. Doğrudan yüklenici.
Projenizi konuşalım mı?
React ve Next.js konusunda uzman kıdemli bir web geliştiriciyim - dünya çapında freelance projelere açığım.
E-posta
i.vynnychenko@gmail.comKonum
Kyiv, Ukrayna
Upwork
Profili görüntüleTelegram
Bana yazınViber
Bana yazın