Impactt co-working markazi rezidentlariga majlis xonalarni oldindan oson band qilish uchun tizim yaratmoqchi va bunda sizning yordamingiz kerak.
Backend yo'nalishiga topshirganlar tizim uchun REST API tuzishi kerak bo'ladi. Frontend yo'nalishi qatnashchilaridan esa ushbu tizim uchun foydalanuvchi interfeysini yasash kutiladi.
- Xonalar haqida ma'lumot saqlash va taqdim qila olish;
- Xonani ko'rsatilgan vaqt oralig'i uchun band qila olish;
- Bir xonaning band qilingan vaqtlari ustma-ust tushmasligi kerak;
- Autentifikatsiya (login) imkoniyatini qo'shish talab qilinmaydi.
- Qaysi dasturlash tilidan foydalanish kerak? Istalgan!
- Kutubxona va freymvorklardan foydalanish mumkinmi? Ha.
- Qaysi ma'lumotlar omboridan foydalanish mumkin? Fuksional talablarni qondiradigan istalgan ma'lumotlar omboridan foydalanishingiz mumkin.
- GitHubda
private
repozitoriya yarating - Ishingizni bosqichma-bosqich
commit
qilib boring - GitHub repozitoriyaning
settings
qismidanybky42
foydalanuvchisiniCollaborator
sifatida qo'shing. - 20-iyunga qadar loyihani yakunlab,
Pull Request
yaratib,ybky42
foydalanuvchisiniReviewer
sifatida qo'shing. - Savollaringizni ushbu
gist
ostidagi izohlarda qoldiring.
GET /api/rooms
Parametrlar:
search
: Xona nomi orqali qidirishtype
: xona turi bo'yicha saralash (focus
,team
,conference
)page
: sahifa tartib raqamipage_size
: sahifadagi maksimum natijalar soni
HTTP 200
{
"page": 1,
"count": 3,
"page_size": 10,
"results": [
{
"id": 1,
"name": "mytaxi",
"type": "focus",
"capacity": 1
},
{
"id": 2,
"name": "workly",
"type": "team",
"capacity": 5
},
{
"id": 3,
"name": "express24",
"type": "conference",
"capacity": 15
}
]
}
GET /api/rooms/{id}
HTTP 200
{
"id": 3,
"name": "express24",
"type": "conference",
"capacity": 15
}
HTTP 404
{
"error": "topilmadi"
}
GET /api/rooms/{id}/availability
Parametrlar:
date
: sana (ko'rsatilmasa bugungi sana olinadi)
Response 200
[
{
"start": "05-06-2023 9:00:00",
"end": "05-06-2023 11:00:00"
},
{
"start": "05-06-2023 13:00:00",
"end": "05-06-2023 18:00:00"
}
]
POST /api/rooms/{id}/book
{
"resident": {
"name": "Anvar Sanayev"
},
"start": "05-06-2023 9:00:00",
"end": "05-06-2023 10:00:00"
}
HTTP 201: Xona muvaffaqiyatli band qilinganda
{
"message": "xona muvaffaqiyatli band qilindi"
}
HTTP 410: Tanlangan vaqtda xona band bo'lganda
{
"error": "uzr, siz tanlagan vaqtda xona band"
}
Assalomu aleykum menda bir muammo qancha to'g'irlashga urunmasam ham hech o'zgarmayapti? Shu bilan menda bir savol tug'uldi! men node.js express.js da ushbu topshiriqni bajarganman lekin testlar Pythonda qilingan. Bu yerda mendan boshqa odam ham bormi nodejs orqali bajarib hamma testdan pass bo'lgan? Eng qizig'i shundaki so'ralgan hamma requestlarga aytilganidek programmam javob berayapti lekin testga qo'ysam birorta test muvoffaqiyatli chiqmayapti, keyin nimaga shunday bo'layapti deb bing AI dan so'rab ko'rdim. U shunday javob berdi: It looks like you are trying to pass some tests in Python using the requests library. The tests are failing because the response status code is 404 instead of the expected 200. This means that the server could not find the requested resource. You may want to check if the API URL is correct and if the server is running.
As for Node.js, it is a different language and runtime environment from Python. You would need to rewrite the tests using a Node.js testing framework and an HTTP client library for Node.js. Nima qilsam bo'ladi? Lekin rosssssssa qatnashgim kelayapti shu YBKY ga. hozir nima qilishni bilmayapman. Yozgan dasturmni manually postman orqali test qilish jarayonini video qilib yuborsam bo'lmaydimi. Hamma testcaselarni manuall qilsam kutganimdek javob qaytarayapti lekin, jprq test! Iltimos maslahat beringizlar endi men qatnasha olmimanmi?