{"id":28718689,"url":"https://github.com/mdazlaanzubair/taskmastercli","last_synced_at":"2026-04-09T16:47:18.700Z","repository":{"id":296823025,"uuid":"993406668","full_name":"mdazlaanzubair/TaskMasterCli","owner":"mdazlaanzubair","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-10T12:00:58.000Z","size":901,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-10T13:19:21.222Z","etag":null,"topics":["javascript","nodejs","playwright","softwaretesting","testautomation","todo","todo-list"],"latest_commit_sha":null,"homepage":"https://task-master-cli-pied.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdazlaanzubair.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-30T18:28:26.000Z","updated_at":"2025-06-02T19:19:12.000Z","dependencies_parsed_at":"2025-06-02T18:59:22.639Z","dependency_job_id":null,"html_url":"https://github.com/mdazlaanzubair/TaskMasterCli","commit_stats":null,"previous_names":["mdazlaanzubair/taskmastercli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mdazlaanzubair/TaskMasterCli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdazlaanzubair%2FTaskMasterCli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdazlaanzubair%2FTaskMasterCli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdazlaanzubair%2FTaskMasterCli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdazlaanzubair%2FTaskMasterCli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdazlaanzubair","download_url":"https://codeload.github.com/mdazlaanzubair/TaskMasterCli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdazlaanzubair%2FTaskMasterCli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259924680,"owners_count":22932782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nodejs","playwright","softwaretesting","testautomation","todo","todo-list"],"created_at":"2025-06-15T05:03:17.780Z","updated_at":"2025-10-30T11:50:46.457Z","avatar_url":"https://github.com/mdazlaanzubair.png","language":"JavaScript","readme":"# TaskMaster CLI — Applied Software Testing Project\nTaskMaster CLI is a minimalistic, full-stack TODO application designed and tested for academic and learning purposes. This project was created as part of the \"Applied Software Testing\" course assignment and demonstrates modern web testing practices including UI, API, and performance testing using Playwright with Page Object Model (POM) and BDD-style test definitions.\n\n## 🎯 Project Objective\nThis assignment aims to simulate a real-world software testing environment to apply comprehensive testing strategies such as:\n\n- UI Testing (Behavior-Driven Development style)\n\n- API Testing using REST endpoints\n\n- Performance Testing (page load benchmarks)\n\n- Data-driven testing (JSON-based input)\n\n- Reporting using Allure\n\nThe testing architecture is built using Playwright with JavaScript and demonstrates POM (Page Object Model) design pattern, JSON-driven data, and test coverage that includes both functional and non-functional aspects of the system.\n\n## 💡 Features\n1. Add / Complete / Delete TODOs\n\n2. Filter todos by All / Active / Completed\n\n3. RESTful backend API for TODOs\n\n4. Comprehensive Playwright test suite (20+ test cases)\n\n5. Allure reporting for visual insights\n\n## 🧪 Testing Scope\n✅ UI Tests (BDD Style)\n* Add todos\n* Toggle complete status\n* Delete todos\n* Filter by completed, active, all\n* Input field validations\n* Behavior with no todos\n* POM-based interactions\n\n✅ API Tests\n* GET /todos\n* POST /todos\n* DELETE /todos/:id\n* Validate schema \u0026 status codes\n* Negative test: invalid payloads\n\n✅ Performance Test\n* Page load time under 2s\n\n✅ Additional Tests\n* JSON data-driven test cases\n* Edge case UI flows\n* Input limit checks\n\n## 🛠️ How to Run\n### Prerequisites:\n* Node.js v18 or above\n* VS Code (recommended)\n* Bash (for run-tests.sh)\n\n### Step-by-step:\n\n1. Clone the Repository:\n\n```bash\ngit clone https://github.com/mdazlaanzubair/TaskMasterCli.git\n```\n\n```bash\ncd taskmaster-cli\n```\n\n2. Install Dependencies:\n\n```bash\nnpm install\n```\n\n3. Run Server:\n\n```bash\nnpm start\n```\n3. Run Tests:\nBack in the root folder:\n\n```bash\n./run-tests.sh\n```\n\n### This script will:\n\n- Clean old reports\n- Run all Playwright tests (UI, API, performance)\n- Generate and open Allure Report\n\n### View Allure Report\nAfter running `./run-tests.sh` successfully, Allure report will open in your default browser. If not:\n\n```bash\nnpx allure generate allure-results --clean -o allure-report\n```\n\n```bash\nnpx allure open allure-report\n```\n\n## 🧪 Sample Allure Dashboard\nThe report includes:\n\n- Passed/failed/skipped test metrics\n- Timeline view\n- Test severity tagging\n- Screenshots and traces for failed tests\n\n## 🧰 Tools \u0026 Frameworks Used\n* Playwright (UI, API, and Performance testing)\n* Allure (Reporting)\n* JSON (Data-driven testing)\n* Express.js (Mock API backend)\n* HTTP-Server (Static frontend serving)\n* Bash Shell Script (run-tests.sh)\n* Page Object Model (POM) architecture\n\n## 📚 Learning Outcomes\n\n- Mastery over Playwright test automation\n- Understanding of API testing alongside UI\n- Real-world CI-ready folder structure\n- Performance benchmarking using automation\n- JSON-driven test design\n- Hands-on with Allure reports\n\n## 📄 License\nThis project is licensed under the MIT License.\n\nMIT License\n\nCopyright (c) 2025\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction...\n\n## 🤝 Contributing\nThis project is academic but open to improvements. Feel free to fork, suggest changes, or open issues.\n\n## 👨‍🎓 Made with ❤️ for the Applied Software Testing course","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdazlaanzubair%2Ftaskmastercli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdazlaanzubair%2Ftaskmastercli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdazlaanzubair%2Ftaskmastercli/lists"}