https://github.com/dilshodbek-nodejs/ed-tech
Education Tech simple CRM system
https://github.com/dilshodbek-nodejs/ed-tech
ai gemini-api redis srm
Last synced: about 2 months ago
JSON representation
Education Tech simple CRM system
- Host: GitHub
- URL: https://github.com/dilshodbek-nodejs/ed-tech
- Owner: dilshodbek-nodejs
- Created: 2025-03-14T16:35:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-15T11:21:12.000Z (about 1 year ago)
- Last Synced: 2025-07-01T03:45:08.103Z (12 months ago)
- Topics: ai, gemini-api, redis, srm
- Language: JavaScript
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kurs Boshqaruv Tizimi API
## 📌 Texnologiyalar
- **Node.js** – Server tomon kodni ishlatish
- **Express.js** – RESTful API yaratish
- **Prisma** – Ma'lumotlar bazasini boshqarish (ORM)
- **Redis** – Kesh (cache) tizimi
- **Google Gemini API** – AI yordamida tahlil qilish
- **MySQL/PostgreSQL** – Ma’lumotlar bazasi
## 📂 Loyiha Tuzilishi
```
📁 project-root/
📁 src/
├── 📁 config/
├── 📁 controllers/
├── 📁 middlewares/
├── 📁 routes/
├── 📁 utils/
├── 📄 server.js
├── 📄 package.json
```
## O‘rnatish
### 1. Bog‘liqliklarni o‘rnatish
```bash
npm i
```
### 2. Ma’lumotlar bazasini sozlash
`.env` faylni yaratib, quyidagi sozlamalarni kiriting:
```
DATABASE_URL="mysql://user:password@localhost:3306/database_name"
GEMINI_API_KEY="your_google_gemini_api_key"
JWT_SECRET_KEY="secret"
PORT=
```
Prisma migratsiyalarini ishlating:
```bash
npx prisma migrate dev
```
yoki
```bash
npm run prisma-migrate
```
### 3. Serverni ishga tushirish nodemon bilan
```bash
npm run dev
```
## 🔥 Asosiy API Yo‘nalishlari
Loyiha API routerlari haqida batafsil ma’lumot **PDF hujjatda** keltiriladi.
**Umumiy yo‘nalishlar:**
- **`/courses`** – Kurslar bilan ishlash
- **`/users`** – Foydalanuvchilar bilan ishlash
- **`/teachers`** – O‘qituvchilar bilan ishlash
- **`/enrollment`** – Kursga yozilish tizimi
- **`/analytics`** – Kurs tahlillari
- **`/ai`** – Support chat uchun AI support
## 🎯 AI Support
Loyihada Google Gemini API yordamida AI Support funksiyasi qo‘shilgan. Chat orqali savollar berish va AI javoblarini Redis keshida 20 soniya davomida saqlash imkoniyati mavjud.
## ⚡ Qo‘shimcha
- **Xatolarni qayta ishlash**: Har bir routerda try/catch bloklari qo‘llangan.
- **Middleware**: Token orqali autentifikatsiya va ruxsatlarni tekshirish.
- **Kesh (Cache)**: Redis orqali ma’lumotlarni vaqtinchalik saqlash.
## 📜 Litsenziya
MIT Litsenziyasi.
## 👨💻 Muallif
- **Backend Developer**: [Dilshodbek Yoqubjonov]