# data[].attributes.body
-Capture end-user requirements and guide the development team in building the right product
-Confirmation (acceptance criteria) defines the conditions for a user story to be considered complete. They work together to facilitate effective communication, align understanding, and ensure that developed features meet user needs and expectations

# data[].attributes.body
- list down the priority items based on the effort estimation chart to arrange the product backlog items starting from highest priority to the lowest.

-The product backlog is typically managed by the product owner, who is responsible for gathering input from stakeholders, prioritizing items based on their value and impact, and ensuring the backlog reflects the needs of the product and its users.

# data[].attributes.body
- Planning and Scheduling: Estimating effort helps in creating realistic project plans and schedules. By understanding the effort required for each task

.-Performance Evaluation: Effort estimation provides a basis for evaluating the performance of the development team. By comparing the estimated effort

# data[].attributes.body
- Allocate tasks effectively, distribute workloads evenly, estimate project timelines accurately, prioritize tasks based on capacity, and manage dependencies and deadlines.

-Considering the available work time, project managers can optimize resource allocation, promote work-life balance.

# data[].attributes.body
Debugging

Grey Pen Box Testing

Sqli Injection

Errors

# data[].attributes.body
- Built for IslandFurniture web portal. User actions were clearly stated in use case. Relationship such as association, include and extend were applied in appropriate positions which would make it easier to understand user actions and flows.

# data[].attributes.body
- use case specifications for 3 functions such as "add to favourite", "view favourite" and "delivery" are made by gathering and documenting functional requirements and specific tasks such as expected flow, alternate flow, and error flow.

# data[].attributes.body
- SCRUM meeting conducted in SPRINT 1 and SPRINT 2. There will be two SCRUM meetings in each SPRINT. Each SCRUM meeting will last for 15 minutes.
- In scrum meeting, the work done, work in progress and hurdles will be discussed within the SCRUM meeting to ensure the flow of developing the 3 functions for IslandFurniture will not be disturbed. Product Owner may or may not present

# data[].attributes.body
Delivery Tab

HTML structure make up of “delivery” tab

CSS Styling of “delivery” tab

Hyperlink to link “delivery” to the payment page and to the login page

# data[].attributes.body
Fill in form

HTML structure of the page such as input attributes and “submit” button , footer and header, navigationbar

Style the page using CSS styling

Front-end javascript for client-side form validation

Develop AJAX function with URL to receive and send input values to backend for further process.

# data[].attributes.body
Fill in form

Create database without appropriate tables and connections

Store the input values sent via POST request from client side in database.

Handle response: Send response back to client’s browser

# data[].attributes.body
Fill in form

Set up API endpoint to connect to the database and client-side server to handle the values submitted in client-side

Create route corresponds to the form submitted

Data validation in client-side and server-side

Check for specific requirements or length restriction in input values received

# data[].attributes.headline
13.Pick date and time for delivery - Part 1

# data[].attributes.subject
13.Pick date and time for delivery - Part 1

# data[].attributes.body
Pick date and time for delivery

HTML structure of the date picker

CSS styling of the date picker

JavaScript to make calendar

# data[].attributes.headline
14. Pick date and time for delivery - Part 2

# data[].attributes.subject
14. Pick date and time for delivery - Part 2

# data[].attributes.body
Pick date and time for delivery

API to handle form submission and data handling

Routing to handle HTTP Post request sent from the form

Availability check to check if staff is able to deliver on the chosen date and time

# data[].attributes.headline
15. Re-login to account after requesting for delivery - Part 1

# data[].attributes.subject
15. Re-login to account after requesting for delivery - Part 1

# data[].attributes.body
HTML structure markup of input fields such as email and password with the header and footer including the navigation bar.

CSS Styling

    -Layout
    -Font
    -Colours
    -Visuals

# data[].attributes.headline
16. Re-login to account after requesting for delivery-Part 2

# data[].attributes.subject
16. Re-login to account after requesting for delivery-Part 2

# data[].attributes.body
Delivery endpoint for routing

Post request to handle login form submission

Routing: Define a route on the server that corresponds to the form submission.

Authentication: Use a secure hashing algorithm, such as bcrypt, to securely store and compare passwords

# data[].attributes.headline
17. Re-login to account after requesting for delivery-Part 3

# data[].attributes.subject
17. Re-login to account after requesting for delivery-Part 3

# data[].attributes.body
Session Management

Create a session token to maintain the user's authentication state.

Store the session or token on the server and send it back to the client as a cookie or in the response data.

Database Integration:

Connect to database and retrieve the user's information based on the provided username/email.

Verify the password and any additional user data necessary for your application