Task Tracker
Vazifalaringizni kuzatib borish va to-do ro'yxatingizni boshqarish uchun CLI ilova yarating.
Task tracker — vazifalaringizni kuzatib borish va boshqarish uchun ishlatiladigan loyiha. Bu topshiriqda siz nima qilishingiz kerakligi, nimalarni bajarganingiz va hozir nima ustida ishlayotganingizni kuzatib borish uchun oddiy command line interface (CLI) yaratasiz. Bu loyiha dasturlash ko'nikmalaringizni, jumladan fayl tizimi bilan ishlash, foydalanuvchi kiritgan ma'lumotlarni qayta ishlash va oddiy CLI ilova yaratishni mashq qilishingizga yordam beradi.
Talablar
Ilova command line'dan ishga tushishi, foydalanuvchi amallari va kiritgan ma'lumotlarini argument sifatida qabul qilishi hamda vazifalarni JSON faylida saqlashi kerak. Foydalanuvchi quyidagilarni qila olishi kerak:
- Vazifalarni qo'shish, yangilash va o'chirish
- Vazifani bajarilmoqda yoki bajarilgan deb belgilash
- Barcha vazifalar ro'yxatini chiqarish
- Bajarilgan barcha vazifalar ro'yxatini chiqarish
- Bajarilmagan barcha vazifalar ro'yxatini chiqarish
- Bajarilayotgan barcha vazifalar ro'yxatini chiqarish
Amalga oshirishda yo'l ko'rsatadigan ba'zi cheklovlar:
- Bu loyihani yaratish uchun istalgan dasturlash tilidan foydalanishingiz mumkin.
- Foydalanuvchi kiritgan ma'lumotlarni qabul qilish uchun command line'dagi positional argument'lardan foydalaning.
- Vazifalarni joriy papkadagi JSON faylida saqlang.
- Agar JSON fayl mavjud bo'lmasa, u yaratilishi kerak.
- JSON fayl bilan ishlash uchun dasturlash tilingizning native fayl tizimi modulidan foydalaning.
- Bu loyihani yaratishda hech qanday tashqi kutubxona yoki freymvorkdan foydalanmang.
- Xatolar va edge case'larni to'g'ri qayta ishlashni ta'minlang.
Misol
Buyruqlar ro'yxati va ulardan foydalanish quyida keltirilgan:
# Adding a new task
task-cli add "Buy groceries"
# Output: Task added successfully (ID: 1)
# Updating and deleting tasks
task-cli update 1 "Buy groceries and cook dinner"
task-cli delete 1
# Marking a task as in progress or done
task-cli mark-in-progress 1
task-cli mark-done 1
# Listing all tasks
task-cli list
# Listing tasks by status
task-cli list done
task-cli list todo
task-cli list in-progress
Vazifa property'lari
Har bir vazifa quyidagi property'larga ega bo'lishi kerak:
id: vazifaning noyob identifikatoridescription: vazifaning qisqacha tavsifistatus: vazifaning holati (todo,in-progress,done)createdAt: vazifa yaratilgan sana va vaqtupdatedAt: vazifa oxirgi marta yangilangan sana va vaqt
Yangi vazifa qo'shishda bu property'larni JSON fayliga albatta qo'shing, vazifani yangilashda esa ularni yangilang.
<hr />
Ishni boshlash
Task Tracker CLI loyihasini boshlashingizga yordam beradigan bir necha qadam:
Development muhitini sozlang
- O'zingizga qulay dasturlash tilini tanlang (masalan, Python, JavaScript va hokazo).
- Kod muharriri yoki IDE o'rnatilganiga ishonch hosil qiling (masalan, VSCode, PyCharm).
Loyihani boshlash
- Task Tracker CLI uchun yangi loyiha papkasini yarating.
- Loyihangizni boshqarish uchun version control tizimini (masalan, Git) initsializatsiya qiling.
Imkoniyatlarni amalga oshirish
- Foydalanuvchi kiritgan ma'lumotlarni qayta ishlash uchun oddiy CLI tuzilmasini yaratishdan boshlang.
- Har bir imkoniyatni birma-bir amalga oshiring va keyingisiga o'tishdan oldin uni puxta test qiling: masalan, avval vazifa qo'shish funksiyasini, keyin ro'yxatni chiqarishni, so'ng yangilashni, bajarilmoqda deb belgilashni va hokazolarni amalga oshiring.
Testlash va debugging
- Har bir imkoniyat kutilganidek ishlashiga ishonch hosil qilish uchun ularni alohida test qiling. Vazifalar to'g'ri saqlanayotganini tekshirish uchun JSON faylini ko'zdan kechiring.
- Ishlab chiqish jarayonida yuzaga keladigan har qanday muammoni debug qiling.
Loyihani yakunlash
- Barcha imkoniyatlar amalga oshirilgani va test qilinganiga ishonch hosil qiling.
- Kodingizni tartibga keltiring va kerakli joylarga izohlar qo'shing.
- Task Tracker CLI'dan qanday foydalanish haqida yaxshi readme fayl yozing.
<hr />
Ushbu loyiha yakunida siz o'zingizga yoki boshqalarga vazifalarni samarali boshqarishda yordam beradigan amaliy vositani ishlab chiqqan bo'lasiz. Bu loyiha murakkabroq dasturlash loyihalari va real hayotiy ilovalar uchun mustahkam poydevor yaratadi.
Kod yozishdan zavqlaning!