Albatta, mana sizning backend uchun README.md namunasi:
Bu loyiha Qoldi ilovasining backend qismini tashkil qiladi. Ilova, foydalanuvchilarga turli mahsulotlar haqida xabarlar yuborish, sevimli mahsulotlarini saqlash, chat xonalarida muloqot qilish imkonini beradi.
- NestJS - Backend framework
- Sequelize - ORM (PostgreSQL bilan ishlash uchun)
- WebSocket (Socket.io) - Real-time xabarlar tizimi
- PostgreSQL - Ma'lumotlar bazasi
- TypeScript - Dasturlash tili
- Jest - Testlash uchun
Loyihani klonlash uchun quyidagi buyruqni bajarish kerak:
git clone https://github.com/username/qoldi-backend.git
cd qoldi-backendLoyihadagi barcha zaruriy paketlarni o‘rnatish uchun quyidagi buyruqni bajarish kerak:
npm installyoki yarndan foydalanayotgan bo‘lsangiz:
yarn installconfig/config.env faylida ma'lumotlar bazasi ulanishi uchun kerakli sozlamalarni kiriting.
DB_HOST=localhost
DB_PORT=5432
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=qoldi_dbMa'lumotlar bazasini yaratish uchun kerakli migratsiyalarni bajarish:
npm run migrateNestJS serverini ishga tushurish uchun:
npm run start:devyoki yarn bilan:
yarn start:devServer ishga tushgandan so‘ng, backend http://localhost:3000 manzilida ishlay boshlaydi.
POST /auth/register- Foydalanuvchi ro‘yxatdan o‘tishi.POST /auth/login- Foydalanuvchi tizimga kirishi.GET /users/me- Tizimga kirgan foydalanuvchi ma'lumotlari.
GET /products- Barcha mahsulotlarni olish.GET /products/:id- Mahsulot haqida ma'lumot olish.POST /products- Yangi mahsulot qo‘shish.PUT /products/:id- Mahsulotni yangilash.DELETE /products/:id- Mahsulotni o‘chirish.
POST /product-images- Mahsulotga rasm qo‘shish.DELETE /product-images/:id- Mahsulot rasmni o‘chirish.
GET /chat-rooms- Barcha chat xonalarini olish.GET /chat-rooms/:id- Maxsus chat xonasini olish.POST /chat-rooms- Yangi chat xonasi yaratish.
POST /messages- Yangi xabar yuborish.GET /messages- Barcha xabarlarni olish.GET /messages/:id- Maxsus xabarni olish.
POST /favorites- Mahsulotni sevimli qilish.GET /favorites- Foydalanuvchining sevimli mahsulotlarini olish.DELETE /favorites/:id- Mahsulotni sevimlilardan o‘chirish.
Loyiha WebSocket orqali real-time chat tizimiga ega. Foydalanuvchilar chat xonalariga kirishib, xabarlar yuborishlari mumkin.
WebSocket serveri @nestjs/platform-socket.io paketidan foydalanadi va MessageGateway yordamida xabarlar real vaqt rejimida uzatiladi.
Tegishli URL: ws://localhost:3000/chat
Testlarni ishga tushirish uchun:
npm run testsrc/: Asosiy kodauth/: Foydalanuvchi autentifikatsiyasi va avtorizatsiyachat-room/: Chat xonalarining servis va kontrollerlarimessage/: Xabarlar bilan ishlashproduct/: Mahsulotlar bilan ishlashproduct-image/: Mahsulot rasmlari bilan ishlashfavorites/: Foydalanuvchining sevimli mahsulotlariusers/: Foydalanuvchi ma'lumotlaricommon/: Umumiy yordamchi funksiyalar va interfeyslar
Agar muammo yuzaga kelsa yoki xatoliklar bo‘lsa, bizning GitHub Issues sahifamizga murojaat qiling.
Agar loyihani o‘rganishda yoki ishlatishda muammolar bo‘lsa, biz bilan bog‘laning:
Email: support@qoldi.uz
Bu README.md namunasi sizning loyihangizga mos ravishda o‘zgartirilishi mumkin. Shuningdek, real-time xabarlar tizimi va WebSocket haqida ko‘proq tafsilotlar berilgan. Agar qo‘shimcha xususiyatlar kerak bo‘lsa, ular ham kiritilishi mumkin.