https://github.com/elmurodvokhidov/freegram-backend
MERN Stack texnologiyasidan foydalangan holda bajarilgan Real-Time Chat Application. Ushbu repository loyihaning backend qismi hisoblanadi
https://github.com/elmurodvokhidov/freegram-backend
Last synced: 6 months ago
JSON representation
MERN Stack texnologiyasidan foydalangan holda bajarilgan Real-Time Chat Application. Ushbu repository loyihaning backend qismi hisoblanadi
- Host: GitHub
- URL: https://github.com/elmurodvokhidov/freegram-backend
- Owner: elmurodvokhidov
- Created: 2024-07-22T08:05:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-26T19:45:21.000Z (about 1 year ago)
- Last Synced: 2025-03-27T05:01:52.573Z (7 months ago)
- Language: JavaScript
- Size: 65.4 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FREEGRAM BACKEND
FREEGRAM BACKEND – FREEGRAM ilovasi uchun mo'ljallangan kuchli backend yechimidir. Ushbu repozitoriya ilovaning funktsiyalarini qo'llab-quvvatlaydigan server tomonidagi mantiq va API endpointlarini taqdim etadi.
## Xususiyatlar
- **Foydalanuvchi Tashkiliyati**: JWT yordamida xavfsiz kirish va ro'yxatdan o'tish funksiyalari.
- **Postlarni Boshqarish**: Postlarni yaratish, o'qish, yangilash va o'chirish.
- **Foydalanuvchi Profilini Boshqarish**: Foydalanuvchi profillarini boshqarish va boshqalarni kuzatish/izlash.
- **Izohlar va Yoqtirishlar**: Postlarga izohlar qo'shish va yoqtirishlar.
- **Haqiqiy Vaqt Yangilanishlari**: Postlar va bildirishnomalarda haqiqiy vaqt yangilanishlarini qo'llab-quvvatlash.## Ishga Tushirish
### Talablar
- Node.js (v14.x yoki yuqori)
- MongoDB (mahalliy yoki bulutdagi versiya)### O'rnatish
1. Repozitoriyani klonlash:
```bash
git clone https://github.com/elmurodvokhidov/FREEGRAM-BACKEND.git
```2. Loyihalar katalogiga o'tish:
```bash
cd FREEGRAM-BACKEND
```3. Kerakli bog'liqliklarni o'rnatish:
```bash
npm install
```4. Loyihaning ildiz katalogida `.env` faylini yarating va atrof-muhit o'zgaruvchilarini qo'shing:
```bash
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
PORT=your_preferred_port
```5. Serverni ishga tushiring:
```bash
npm start
```Server sizning `.env` faylingizda ko'rsatilgan portda (standart `3000`) ishga tushadi.
## API Endpoints
- **POST /api/auth/register**: Yangi foydalanuvchini ro'yxatdan o'tkazish.
- **POST /api/auth/login**: Foydalanuvchini autentifikatsiya qilish va JWT token qaytarish.
- **GET /api/posts**: Barcha postlarni olish.
- **POST /api/posts**: Yangi post yaratish.
- **GET /api/posts/:id**: Ma'lum bir postni ID bo'yicha olish.
- **PUT /api/posts/:id**: Ma'lum bir postni ID bo'yicha yangilash.
- **DELETE /api/posts/:id**: Ma'lum bir postni ID bo'yicha o'chirish.
- **POST /api/posts/:id/like**: Ma'lum bir postni yoqtirish.
- **POST /api/posts/:id/comment**: Ma'lum bir postga izoh qo'shish.
- **GET /api/users/:id**: Ma'lum bir foydalanuvchi profilini ID bo'yicha olish.
- **PUT /api/users/:id**: Ma'lum bir foydalanuvchi profilini ID bo'yicha yangilash.
- **POST /api/users/:id/follow**: Foydalanuvchini kuzatish.
- **POST /api/users/:id/unfollow**: Foydalanuvchini kuzatishni to'xtatish.## Hissa Qo'shish
Hissa qo'shishlar xush kelibsiz! Iltimos, repozitoriyani forking qiling va o'zgarishlaringiz bilan pull request yuboring. Kodlash standartlariga rioya qiling va aniq commit xabarlari yozing.
## Litsenziya
Ushbu loyiha MIT Litsenziyasi asosida litsenziyalangan - batafsil ma'lumot uchun [LICENSE](LICENSE) faylini ko'rib chiqing.
## Aloqa
Har qanday savollar yoki muammolar uchun [elmurodvokhidov@gmail.com](mailto:elmurodvokhidov@gmail.com) elektron pochta manziliga murojaat qiling.