Arxitektura
Backend tuzilmasi
Backend qismi bitta Nest workspace ichida yuritiladi, lekin ichida 3 ta alohida app bo'ladi:
api- asosiy backendai- Gemini bilan ishlovchi AI qismibot- Telegram bot qismi
Bu yondashuvda kod bazasi bitta bo'ladi, lekin har bir qism:
- alohida build qilinadi
- alohida ishga tushiriladi
- kerak bo'lsa alohida deploy qilinadi
Taxminiy tuzilma:
apps/
api/
ai/
bot/
libs/
common/
database/
auth/
users/
ai-core/
Tizim komponentlari
Backend API- markaziy serverAI Service- AI bilan bog'liq og'ir ishlarTelegram Bot- tezkor aloqa kanaliAdmin Panel- ichki boshqaruv paneliWeb AppvaMobile App- foydalanuvchi ilovalariLanding Pages- tanishtiruv sahifalari
Asosiy ishlash oqimi
- foydalanuvchi ilovadan so'rov yuboradi
- kerak bo'lsa
AI Servicechaqiriladi - kerakli ma'lumotlar baza, tezkor xotira yoki tashqi xizmatlardan olinadi
- foydalanuvchiga javob yoki bildirishnoma qaytariladi
App'lar orasidagi aloqa
Asosiy qoida quyidagicha bo'ladi:
- foydalanuvchi ilovalari
apibilan gaplashadi botasosanapibilan ishlaydiaitashqi model bilan gaplashadi
Tavsiya etilgan oqim:
client -> apibot -> apiapi -> ai
Shu usul bilan asosiy biznes qoidalar api ichida markazlashgan holda qoladi.
Kundalik avtomatik ishlar
- cron jobs orqali vazifalar generatsiyasi
- eslatmalar yuborish
- tahlil va kuzatuv yozuvlarini saqlash
Nega shu yo'l tanlandi
Bu model 3 ta alohida repo ochmasdan turib quyidagi imkoniyatlarni beradi:
- umumiy kodni
libsichida qayta ishlatish - har bir qismga alohida resurs berish
- keyin kerak bo'lsa app'larni mustaqil ajratish
- boshlanishda boshqaruvni sodda saqlash
