Please design a ticket tracking system. This system allows QA to report a bug and RD can mark a bug as resolved. A. Phase I Requirement:
- There are two types of user: QA and RD.
- Only QA can create a bug, edit a bug and delete a bug.
- Only RD can resolve a bug.
- Summary field and Description filed are required of a bug when QA is creating a bug.
B. Phase II Requirement:
- Adding new field Severity and Priority to a ticket.
- Adding new type of user “PM” that can create new ticket type “Feature Request”. And only RD can mark it as resolved.
- Adding new ticket type “Test Case” that only QA can create and resolve. It’s read-only for other type of users.
- Adding new type of user “Administrator” user that can manage all the stuffs including adding new QA, RD and PM user.
Task 1 - Please write down all the use cases either in text or diagram you can think for Phase I and Phase II requirement separately.
Task 2 - Please implement the A. Phase I Requirement by .NET Core MVC/Java Spring MVC/PHP Laravel 8/ Python Django. For front-end, you can use any framework you like, but we prefer Vue XDD.
Task 3 - Think of yourself as an architect. How will you design this system, please write down the design document at least to include data model, class diagram and UI mock up.
- PHP / Laravel8
- Javascript / Vue
- Bootstrap5
-
RD / QA are able to login
-
Developer could use command to create user
php artisan user:create
-
RD is able to:
- Start Fixing bug
-
QA is able to:
- create bug
- modify the bug which he created
- delete the bug which he created
-
RD / QA are able to see 3 statuses of bugs
- RD / QA / PM / Administor are able to login
- RD is able to resolve bugs / tickets
- QA is able to CURD bugs / Test Case Tickets
- PM is able to CURD Feature Request Tickets
- Administrator is able to manage all the stuffs (how ?)
data model, class diagram and UI mock up