-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprd.json.example
More file actions
82 lines (82 loc) · 2.8 KB
/
prd.json.example
File metadata and controls
82 lines (82 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
"project": "MyApp",
"branchName": "feature/user-auth",
"description": "Add complete user authentication system",
"userStories": [
{
"id": "US-001",
"title": "Add user registration",
"description": "As a new user, I want to register with email and password so I can create an account",
"acceptanceCriteria": [
"Registration form at /register",
"Email validation (format and uniqueness)",
"Password minimum 8 characters with strength indicator",
"Successful registration redirects to /login",
"Error messages for invalid input displayed inline"
],
"priority": 1,
"passes": false,
"notes": ""
},
{
"id": "US-002",
"title": "Add user login",
"description": "As a registered user, I want to log in with my credentials so I can access my account",
"acceptanceCriteria": [
"Login form at /login",
"JWT token returned on successful login",
"Token stored in httpOnly cookie",
"Redirect to /dashboard after successful login",
"Error message for invalid credentials"
],
"priority": 2,
"passes": false,
"notes": ""
},
{
"id": "US-003",
"title": "Add logout functionality",
"description": "As a logged-in user, I want to log out so I can secure my account when I'm done",
"acceptanceCriteria": [
"Logout button visible in header when authenticated",
"Clicking logout clears the auth token/cookie",
"Redirect to / after logout",
"Protected routes become inaccessible after logout"
],
"priority": 3,
"passes": false,
"notes": ""
},
{
"id": "US-004",
"title": "Add password reset flow",
"description": "As a user who forgot my password, I want to reset it via email so I can regain access",
"acceptanceCriteria": [
"Forgot password link on login page",
"Request form accepts email address",
"Reset email sent with secure time-limited link",
"Reset form allows entering new password",
"Success message after password reset",
"Old password no longer works after reset"
],
"priority": 4,
"passes": false,
"notes": ""
},
{
"id": "US-005",
"title": "Add protected routes middleware",
"description": "As a developer, I want protected routes to require authentication so unauthorized users can't access them",
"acceptanceCriteria": [
"Middleware checks for valid JWT on protected routes",
"Invalid/missing token redirects to /login",
"Token refresh handled automatically",
"/dashboard and /settings are protected",
"/login and /register are public"
],
"priority": 5,
"passes": false,
"notes": ""
}
]
}