https://github.com/rustammdev/table-tennis-api
Small table tennis api
https://github.com/rustammdev/table-tennis-api
nestjs nodejs
Last synced: 3 months ago
JSON representation
Small table tennis api
- Host: GitHub
- URL: https://github.com/rustammdev/table-tennis-api
- Owner: rustammdev
- Created: 2025-01-08T12:26:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-08T16:29:39.000Z (over 1 year ago)
- Last Synced: 2025-12-30T01:27:36.191Z (7 months ago)
- Topics: nestjs, nodejs
- Language: TypeScript
- Homepage:
- Size: 85.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
// README.md
# Stol Tennis API
Bu API stol tennisi vaqtlarini boshqarish va to‘lovlarni qayd etish uchun yaratilgan.
## O'rnatish
1. Loyihani klonlang:
```bash
git clone
```
2. Loyihaning ichiga kiring:
```bash
cd table-tennis-api
```
3. Kerakli paketlarni o‘rnating:
```bash
npm install
```
4. MongoDB-ni ishga tushiring va `mongodb://localhost:27017/table_tennis` manzilida mavjud ekanligiga ishonch hosil qiling.
5. Loyihani ishga tushiring:
```bash
npm run start:dev
```
## API ishlatish
### To'lov qo'shish
**URL:** `/payments`
**Method:** `POST`
**Body:**
```json
{
"tableName": "1-stol",
"startTime": "2025-01-08T10:00:00.000Z",
"endTime": "2025-01-08T11:00:00.000Z",
"duration": 60, // minutda
"amount": 30000, // so'mda
"isPaid": true
}
```
**Javob:**
```json
{
"_id": "64e3a2f1e2f4e43c1a6c3452",
"tableName": "1-stol",
"startTime": "2025-01-08T10:00:00.000Z",
"endTime": "2025-01-08T11:00:00.000Z",
"duration": 60,
"amount": 30000,
"isPaid": true,
"__v": 0
}
```
### To'lovlar ro'yxati
**URL:** `/payments?page={page_number}&limit={data_limit}`
**Method:** `GET`
**Query params:**
- `page`: Sahifa raqami (ixtiyoriy, default: 1)
- `limit`: Har bir sahifadagi yozuvlar soni (ixtiyoriy, default: 10)
Misol uchun:
- 1 `/payments?page=1&limit=10`
- 1 `/payments?page=2&limit=10`
**Javob:**
```json
{
"data": [
{
"_id": "64e3a2f1e2f4e43c1a6c3452",
"tableName": "1-stol",
"startTime": "2025-01-08T10:00:00.000Z",
"endTime": "2025-01-08T11:00:00.000Z",
"duration": 60,
"amount": 30000,
"isPaid": true
}
],
"total": 1
}
```
## Fake Data
Test uchun quyidagi ma'lumotlardan foydalanishingiz mumkin:
```json
[
{
"tableName": "1-stol",
"startTime": "2025-01-08T09:00:00.000Z",
"endTime": "2025-01-08T10:30:00.000Z",
"isPaid": true
},
{
"tableName": "2-stol",
"startTime": "2025-01-08T11:00:00.000Z",
"endTime": "2025-01-08T12:00:00.000Z",
"isPaid": false
},
{
"tableName": "3-stol",
"startTime": "2025-01-08T13:00:00.000Z",
"endTime": "2025-01-08T14:00:00.000Z",
"isPaid": true
}
]
```
Bu ma'lumotlarni Postman yoki boshqa API test vositalarida ishlatib tekshirishingiz mumkin.