0% found this document useful (0 votes)
19 views100 pages

Final Project Report - Blossom Reselling Application

Final report SWD392
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views100 pages

Final Project Report - Blossom Reselling Application

Final report SWD392
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 100

MINISTRY OF EDUCATION AND TRAINING

FPT UNIVERSITY
SWD392 PROJECT DOCUMENT
Blossom Reselling System

Võ Minh Đức - SE173255

Đào Xuân Tịnh - QE170214

Đỗ Huỳnh Nguyên Vũ -
SE173139
Group Members
Nguyễn Trần Tấn Phát -
SE173202

Nguyễn Hoàng Phúc -


SE173197

Supervisor Nguyễn Ngọc Lâm

Ext Supervisor

Capstone Project BRS


code
– Ho Chi Minh, November 2024 –

Table of Contents
I. Project Introduction...................................................................5
1. Overview.........................................................................................5
1.1 Project information.................................................................................................... 5
1.2 Project Team.............................................................................................................. 5

2. Product Background........................................................................5
3. Existing Systems.............................................................................6
3.1 Blossom..................................................................................................................... 6

4. Business Opportunity.......................................................................6
5.Software Product Vision for Blossom Reselling...................................7
6. Use Cases Diagram..........................................................................8
II. Software Design........................................................................9
1. System architecture overview..........................................................9
1.1 Component Explanation...........................................................................................11
1.1.1 Deployment & Hosting......................................................................................11
1.1.1.1 Docker............................................................................................................ 11
1.1.1.2 Jenkins........................................................................................................... 12
1.1.2 Front-end Components......................................................................................13
1.1.2.1 Angular.......................................................................................................... 13
1.1.2.2 Angular Material............................................................................................. 13
1.1.2.3 HTML/SCSS/Bootstrap....................................................................................13
1.1.2.4 Firebase......................................................................................................... 13
1.1.3 Back-end Components......................................................................................13
1.2. High-level Architecture Design................................................................................15
1.2.1 Entity Diagram.................................................................................................. 15
1.3 Common Design...................................................................................................... 16
1.3.1 Micro-services architecture...............................................................................16
1.3.1.1 Definition....................................................................................................... 16
1.3.1.2 Philosophy...................................................................................................... 16
1.3.1.3 Micro-services in Reselling Flowers System....................................................17

3. Detailed Design.............................................................................18
3.1 Detailed Design of Use cases & Process..................................................................18
3.1.1 Use Cases Specification....................................................................................18
3.3.1.1 Search flowers............................................................................................... 18
3.3.1.1.1 Use cases specification...........................................................................18
3.3.1.2 Register.......................................................................................................... 20
3.3.1.2.1 Use cases specification...........................................................................20
3.3.1.3 Verify email.................................................................................................... 23
3.3.1.3.1 Use cases specification...........................................................................23
3.3.1.3 Login.............................................................................................................. 25
3.3.1.3.1 Use cases specification...........................................................................25
3.3.1.4 Logout............................................................................................................ 28
3.3.1.4.1 Use cases specification...........................................................................28
3.3.1.5 Manage Profile............................................................................................... 30
3.3.1.5.1 Use cases specification...........................................................................30
3.3.1.6 Edit Profile...................................................................................................... 31
3.3.1.6.1 Use cases specification...........................................................................31
3.3.1.7 Get notification.............................................................................................. 34
3.3.1.7.1 Use cases specification...........................................................................34
3.3.1.8 Recover Password..........................................................................................35
3.3.1.8.1 Use cases specification...........................................................................35
3.3.1.9 Manage Wallet............................................................................................... 37
3.3.1.9.1 Use cases specification...........................................................................37
3.3.1.10 View Wallet Log............................................................................................39
3.3.1.10.1 Use cases specification.........................................................................39
3.3.1.11 Deposit......................................................................................................... 40
3.3.1.11.1 Use cases specification.........................................................................40
3.3.1.12 Create Refund Order....................................................................................42
3.3.1.12.2 Use cases specification.........................................................................42
3.3.1.14 Manage Cart................................................................................................ 46
3.3.1.14.1 Use cases specification.........................................................................46
3.3.1.15 Add item...................................................................................................... 48
3.3.1.15.1 Use cases specification.........................................................................48
3.3.1.17 Update Item quantity...................................................................................52
3.3.1.17.1 Use cases specification.........................................................................52
3.3.1.18 Place Order.................................................................................................. 54
3.3.1.18.1 Use cases specification.........................................................................54
3.3.1.19 Validate Payment Information......................................................................56
3.3.1.19.1 Use cases specification.........................................................................56
3.3.1.20 Manage Transaction.....................................................................................58
3.3.1.20.1 Use cases specification.........................................................................58
3.3.1.21 View All Transaction.....................................................................................60
3.3.1.21.1 Use cases specification.........................................................................60
3.3.1.22 Manage Users.............................................................................................. 62
3.3.1.22.1 Use cases specification.........................................................................62
3.3.1.23 Manage Flowers...........................................................................................63
3.3.1.23.1 Use cases specification.........................................................................63
3.3.1.24 Delete Flowers............................................................................................. 64
3.3.1.24.1 Use cases specification.........................................................................64
3.3.1.25 Approve/Reject Flowers................................................................................66
3.3.1.25.1 Use cases specification.........................................................................66
3.3.1.26 Manage My Flowers......................................................................................68
3.3.1.26.1 Use cases specification.........................................................................68
3.3.1.27 Accept/Reject Refund...................................................................................70
3.3.1.27.1 Use cases specification.........................................................................70
3.3.1.28 Post Flowers................................................................................................. 72
3.3.1.28.1 Use cases specification.........................................................................72
3.3.1.29 Delete Flowers............................................................................................. 74
3.3.1.29.1 Use cases specification.........................................................................74
3.3.1.30 Update Flowers............................................................................................75
3.3.1.30.1 Use cases specification.........................................................................75
3.3.1.31 Manage Orders............................................................................................. 78
3.3.1.31.1 Use cases specification.........................................................................78
3.3.1.32 Update Order Status....................................................................................79
3.3.1.32.1 Use cases specification.........................................................................79
3.3.1.33 View Order Status........................................................................................81
3.3.1.33.1 Use cases specification.........................................................................81
3.3.1.34 Monitor Sales Report....................................................................................83
3.3.1.34.1 Use cases specification.........................................................................83
3.2 Class Diagram.......................................................................................................... 85
3.2.1 Create Flower Diagram.....................................................................................85
3.2.2 Approve/Reject Diagram...................................................................................86
3.3 Activity Diagram...................................................................................................... 87
3.3.1 Activity Diagram Search Flower........................................................................87
3.3.2 Activity Diagram Register.................................................................................88
3.3.3 Activity Diagram Login......................................................................................89
3.3.4 Activity Diagram Add Item................................................................................90
3.3.5 Activity Diagram Approve/Reject Flower...........................................................91
3.3.6 Activity Diagram Delete Flower.........................................................................92
3.3.7 Activity Diagram Update Flower........................................................................93
3.3.8 Activity Diagram Order by Wallet......................................................................94
3.4 Sequence Diagram.................................................................................................. 95
3.4.1 Sequence Diagram............................................................................................95
3.4.2 Sequence Diagram Login..................................................................................96
3.4.3 Sequence Diagram Manage Cart.......................................................................97
3.4.4 Sequence Diagram Add Item............................................................................97
3.4.5 Sequence Diagram Approve/Reject Flowers......................................................98
3.4.6 Sequence Diagram Post Flower.........................................................................98
3.3.7 Sequence Diagram Wallet Management...........................................................99
3.5 State Diagram....................................................................................................... 100
3.5.1 Requesting Flower Listing State......................................................................100
3.5.2 Order Status State.......................................................................................... 101
I. Project Introduction
1. Overview
1.1 Project information
• Project name: Mentor Booking System

• Project code: MB

• Group name: SWD392-MB

• Software type: Web App, Mobile

1.2 Project Team


Full Name Role Ema
il Mobil
e

Đỗ Huỳnh Nguyên Leader


Võ Minh Đức Memb


er

Đào Xuân Tịnh Memb


er

Nguyễn Trần Tấn Memb


Phát er

Nguyễn Hoàng Memb


Phúc er

2. Product Background
As the number of users' needs for buying used bouquets is increasing, the
need for a trading system to distribute used flowers to facilitate the need to
meet users' needs for using newly used flowers to save and optimize the use
of limited resources, without causing environmental waste. Therefore,
Blossom Reselling is a system that provides trading services for used flowers
during the day, still able to meet everyone's needs. Allowing sellers to sell
flowers that have just been used during events and weddings but are no
longer needed, so they will be resold to other events to optimize the product
and save costs for both parties. Buyers can buy flowers that have just been
posted for sale during the day because they are fresh flowers with current
information.

3. Existing Systems
3.1 Blossom
1.Url: https://blossom.isolutions.top/signin

2. Description: Blossom Reselling is a used flower trading and distribution


system that meets the growing demand of users for reusing flowers to save
costs and resources, and reduce environmental waste. This system allows
sellers to post flowers for sale from same-day events such as weddings or
conferences, while buyers can find fresh flowers at reasonable prices for
other events. This is an optimal solution for both sellers and buyers, bringing
economic benefits and environmental protection.

3. Actors: Flower Buyers, Flower Sellers, Administrator

4. Functions: Order flow, Browse, CRUD Flowers, Process tracking flow,


Wallet, Sale Report.

5. Main flow: Search flow, CRUD flow, Order flow, .

6. Pros: Facilitate the connection between sellers and buyers to improve the
quality of trading between users.

4. Business Opportunity
This project introduces Blossom Reselling, an innovative online platform
designed to facilitate the resale and distribution of used flowers from events
like weddings, conferences, and parties. Sellers can list surplus flowers from
same-day events, while buyers can access fresh, high-quality flowers at
discounted prices for their own occasions. Each transaction ensures that
flowers are reused, helping to reduce waste and promote sustainability.

Blossom Reselling provides a seamless user experience, connecting flower


sellers and buyers in a simple, intuitive marketplace. Sellers benefit from an
opportunity to recoup costs by reselling flowers that would otherwise go to
waste, while buyers can find affordable, fresh flowers for various events
without the premium cost typically associated with new arrangements. The
platform also encourages environmental responsibility by reducing the
number of flowers discarded after events and minimizing the demand for
newly grown flowers, helping to conserve resources and reduce waste.

Businesses and individuals in the event planning industry will particularly


benefit from this service, as it aligns with the growing demand for cost-
effective, sustainable solutions. By adopting this platform, event organizers,
florists, and individuals can streamline their flower sourcing, reduce costs,
and contribute to sustainability efforts—meeting the increasing consumer
preference for eco-friendly practices.

Ultimately, Blossom Reselling provides a valuable business opportunity that


addresses the needs of an environmentally conscious market while offering
significant cost-saving benefits. The platform fosters a circular economy for
flowers, benefiting sellers, buyers, and the planet alike.

5.Software Product Vision for Blossom


Reselling
1. Easy Flower Reselling and Discovery: Blossom Reselling provides a
user-friendly platform where sellers can easily list surplus flowers from
events such as weddings, conferences, and parties, while buyers can
browse and purchase fresh flowers at discounted prices for their own
events. The intuitive interface allows for quick listing, search, and
purchase functionality.

2. Dynamic Seller and Buyer Profiles: Each user (both seller and buyer)
has a personalized profile. The seller profile displays available flower
listings, prices, and event details, while the buyer profile allows users
to save favorite flowers, track purchases, and receive notifications of
new listings that match their preferences.

3. Smart Flower Search: The platform offers a powerful search and


recommendation engine, allowing buyers to find fresh, high-quality
flowers based on event type, color preferences, budget, and
availability. Sellers are also notified when their flowers match the
buyer's criteria, optimizing the sales process.
4. Real-time transaction and delivery system: Blossom Reselling includes
an integrated transaction management and logistics system, ensuring
smooth payments and on-time flower delivery. The system tracks
flowers from seller listing to buyer delivery, providing transparent, real-
time updates on order status, estimated delivery time, and delivery
confirmation.

5. Rating and review mechanism: Buyers and sellers can rate and review
each other after each transaction. Positive reviews encourage repeat
transactions, while feedback from both parties helps improve the
platform's overall service.

6. Sustainability Dashboard for Sellers and Admins: Sellers have access to


a sustainability dashboard that tracks the number of flowers resold,
waste reduction metrics, and the environmental impact of their flower
reuse activities. Admins can access an analytics dashboard to monitor
overall platform performance, including transaction volume, user
feedback, and sustainability metrics, helping to optimize platform
performance and user experience.

7. Comprehensive Admin Control and Insights: Platform admins can


access detailed analytics, track transaction trends, and monitor user
activity. The admin dashboard provides insights into sales, buyer
preferences, sustainability impact, and platform performance, enabling
data-driven decision making and continuous system improvement.

6. Use Cases Diagram

Link: Use Case Diagram (to view online full HD underscore)

Figure 1.1: Use Case Diagram


II. Software Design
1. System architecture overview
Link to view online: Architecture Diagram Overview

Figure 2.1: System architecture overview


Figure 2.2: System architecture partial overview
1.1 Component Explanation
1.1.1 Deployment & Hosting
1.1.1.1 Docker

Docker is a containerization platform that bundles an application with all its


dependencies into a container, ensuring it runs consistently across different
environments. We utilise Docker to package system components, including:

 Frontend: Web client

 Backend:

o API Gateway

o Main Service

o Notification Service

o Integration Service

 Database:

o Redis

o PostgreSQL

 Broker: Zookeeper

Configuration:

 Docker-compose.yml

 Dockerfile

With Docker, we encapsulate our applications and their dependencies, which


allows for seamless deployment and scalability. This approach reduces
compatibility issues and simplifies the development and production
environments, making it easier to maintain and update services.
1.1.1.2 Jenkins

Jenkins is an open-source automation server that facilitates continuous


integration (CI) and continuous deployment (CD) for software projects. We
utilise Jenkins to automate our development processes, specifically for our
database, Redis, Zookeeper, and backend services. Key features and
processes in our Jenkins setup include:

 Continuous Integration: Jenkins automatically builds our code


whenever changes are committed to the GitHub repository. This
ensures that our codebase remains stable and that any integration
issues are identified early in the development cycle.

 Continuous Deployment: After successful builds, Jenkins deploys the


updated application components, including the database and backend
services, to the designated environments. This process is automated
through various Jenkins pipelines, reducing the need for manual
intervention and minimising the risk of human error.

 Webhook Integration: We have configured GitHub webhooks to


trigger Jenkins jobs whenever code is updated in the repository. This
integration allows for real-time updates and ensures that the latest
code changes are automatically processed by the CI/CD pipeline.

 Environment Management: Jenkins manages different deployment


environments (development, staging, production) effectively, ensuring
that each component is deployed to the correct environment based on
the defined criteria in the Jenkins pipeline.

By leveraging Jenkins in our CI/CD process, we enhance our development


workflow, improve deployment efficiency, and ensure higher quality releases
for our application.
1.1.2 Front-end Components
1.1.2.1 Angular
Component-based structure: Allows us to organise the codebase into
reusable components.

Two-way data binding: Ensures synchronisation between the model and view.

Dependency injection: Simplifies testing and allows modular development.

1.1.2.2 Angular Material


Angular Material provides a comprehensive suite of UI components that
follow the Material Design guidelines, which improves the design consistency
and enhances the user interface. Key benefits include:

 Pre-built components: Simplifies the process of building responsive and


interactive UI elements.

 Themes: Built-in theming support enables a cohesive look across the


application.

 Responsive layout: Automatically adjusts to different screen sizes and


devices, ensuring a seamless experience on both desktop and mobile.

1.1.2.3 HTML/SCSS/Bootstrap
1.1.2.4 Firebase
Authentication: Use the sign in feature with google.

1.1.3 Back-end Components


Spring Boot: The core framework for building microservices, simplifying the
development process and allowing quick setup and deployment.

 Version: 3.3.x (various modules)

Spring Cloud: Provides tools for managing microservices, including service


discovery, configuration management, and API gateway functionalities.

 Key Components:

o Spring Cloud Gateway: Acts as an API gateway to route


requests to the appropriate services.

o Spring Cloud OpenFeign: A declarative web service client that


simplifies the process of calling other services.

Data Access Technologies:


 Spring Data JPA: Simplifies data access and manipulation with JPA
(Java Persistence API).

 Spring Data Redis Reactive: Supports reactive programming with


Redis, enabling efficient data storage and retrieval.

Database:

 PostgreSQL: The relational database used for persistent data storage.

 Hibernate Envers: A library for auditing and tracking changes in


entity states.

Reactive Programming:

 Spring WebFlux: Enables building non-blocking web applications that


can handle asynchronous data streams.

 Project Reactor: A reactive programming library that provides


support for building reactive applications.

Messaging:

 Apache Kafka: A distributed messaging system used for building real-


time data pipelines and streaming applications.

 Spring Kafka: Integrates Kafka with Spring applications to produce


and consume messages.

Security:

 Spring Security: Provides authentication and authorization features


to secure the microservices.

 JWT (JSON Web Token): Used for securing APIs and managing user
sessions.

 OAuth2 Client: Supports OAuth2 authentication for securing API


access.

Email Services:

 Spring Boot Starter Mail: Provides support for sending emails using
SMTP, simplifying email service integration.

Testing Frameworks:

 Spring Boot Starter Test: Provides testing utilities for Spring


applications.
 Reactor Test: Utilities for testing reactive applications.

 Mockito: A mocking framework for unit tests.

 JUnit 5: A testing framework for Java applications.

Development Tools:

 Lombok: A library that reduces boilerplate code by generating getters,


setters, and other common methods at compile time.

 MapStruct: A code generator for bean mapping, simplifying data


transfer object (DTO) creation.

 Maven/Gradle: Build tools for managing dependencies and project


structure.

Monitoring and Logging:

 Spring Boot Actuator: Provides production-ready features to help


monitor and manage your application.

 SLF4J with Logback: A logging facade that provides a simple


interface for various logging frameworks.

API Documentation:

 Springdoc OpenAPI: Automatically generates OpenAPI


documentation for RESTful APIs based on annotations.

1.2. High-level Architecture Design


1.2.1 Entity Diagram
Link to view online: Entity Diagram

Figure 2.4: Entity Diagram


1.3 Common Design
1.3.1 Micro-services architecture
1.3.1.1 Definition
Micro-services is a software architecture style in which complex
applications are composed of small, independent processes communicating
with each other using language-agnostic APIs. These services are small,
highly decoupled and focus on doing a small task, facilitating a modular
approach to system-building.

1.3.1.2 Philosophy
Philosophy of micro-services architecture essentially equals the Unix
philosophy of “Do one thing and do it well”. It is described as follows:

 The services are small - fine-grained to perform a single function.


 The organization's culture should embrace the automation of
deployment and testing. This eases the burden on management and
operations.

 The culture and design principles should embrace failure and faults,
similar to antifragile systems.

 Each service is elastic, resilient, composable, minimal, and complete.

1.3.1.3 Micro-services in Reselling Flowers System


We apply micro-services architecture in Reselling Flowers system as follow:

 Divide the system into multiple small services:

o Business Card Mobile Application

o Business Card Back-end

o Background services Business Card:

 Email Sender Service

 Reporting Service

 Card Sharing Service

 Notification Service

 Expired Shared Token Cleaner

 Services communicate with each other via one of the two methods:

o API call: between Reselling Flowers Mobile Application, AdminCP


and Reselling Flowers Back-end.

o Asynchronous message queue: between Reselling Flowers Back-


end and background services.

 Service storage and computing resources are managed by Kubernetes.

 Each service can be scaled and redeployed independently.

 Use 3rd -party services:

o Sendgrid for sending the email.

o Google Cloud Storage for storing publicly-accessed images.


3. Detailed Design
3.1 Detailed Design of Use cases & Process
3.1.1 Use Cases Specification
3.3.1.1 Search flowers
3.3.1.1.1 Use cases specification

USE CASE-01 SPECIFICATION

Use-case No. UC01 Use-case Version 1.0

Use-case Name Search Flowers

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Guest, Flower Buyers, Flower Sellers, Admin.

Summary:

The user wants to search the list of flowers.

Goal:

The goal of this use case is to allow users to search flower baskets
for events.

Triggers:

The guest, flower buyers and flower sellers indicate that they want to
search for flowers when they visit the system's home page.

Preconditions:

PRE-1. The user has accessed the system's home page.

Post Conditions:

POST-1. The system displays flower baskets posts on the home


page.
Main Success Scenario:

Ste
p. Actor Action System Response

The actor accesses the


1 system's home page via the The system displays home page
link.

The system will display a toolbar


The actor click the “Search”
2 asking the user to fill in “Tìm kiếm
button.
trong Blossom ..."

The actor fill name of flower


The system will redirect page
3 to search and Click “Search”
product contain name actor search
button

Alternative Scenario:

None.

Exceptions:

No
. Cause System Response

System notifies the actor to try again once the


Network connection is restored.
1
Connection Failủe

Relationships:

None.

Business Rules:

BR-01: - Businesses require users to log in to take steps to add to cart


and pay for flower baskets.
3.3.1.2 Register
3.3.1.2.1 Use cases specification
USE CASE-02 SPECIFICATION

Use-case No. UC02 Use-case Version 1.0

Use-case Name Register

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Guest

Summary:

Users register a new account on the system.

Goal:

The goal of this Use Case is to allow guests to register an account.

Triggers:

The actor wants to register an account in the Blossom web


application.

Preconditions:

PRE-1. User has not logged in

Post Conditions:

POST-1. <Success> The system stores user registration


information.

POST-2. User is redirected to the Home screen


Ste
p Actor Action System Response

The system will provide a form to fill out


with the following fields:

- Email: email is a text or number


with format [email protected]
(username is the name that the user
enters)
On the registration
page, the actor selects - Name: Maximum 50 characters
1
the "Sign Up Now"
- Password: minimum 8 characters,
tab.
mix of letters, numbers, and symbols

- Re-enter password: Must enter the


correct password.

- Gender: Male, Female or Other

[Exception 1]

Actor enters email,


name, gender,
2
password, re-enters
password

The system sends email verification and


Actor clicks on the force users to verify email. Then the
3 message “Ok” will appear.
"Sign Up” button.
[Exception 2]

Actor clicks on the


4 The system switches to the login page.
“Ok".
Exceptions:

No
. Cause System Response

The information filled in the form is not


correct

- If the error comes from the password, a


The password does not
red text appears below the form "Password
have uppercase letters
1 lacks capital letters, is not long enough,
or is missing
lacks special characters".
characters
- If the error comes from the phone
number, the red text "Your phone number
must only be 9-11 digits" will appear.

2 OTP has expired. - If OTP is not filled in for more than 1


minute, after entering the OTP code, the
system will return "OTP has expired".

Relationships:

None.

Business Rules:

None.
3.3.1.3 Verify email
3.3.1.3.1 Use cases specification
USE CASE-03 SPECIFICATION

Use-case No. UC03 Use-case Version 1.0

Use-case Name Verify email

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

This use case describes the process of user registration of an


account that requires email verification before logging into the account.

Goal:

This feature allows actors to log into the website once they have
verified their email.

Triggers:

The actor wants to authorize to the system so that he could access


more functions as a member

Preconditions:

Actor has created an account in the Blossom application.

Post Conditions:

Success: System redirects actor to the login page


Main Success Scenario:

Ste Actor Action System Response


p.

1 In the register page, the actor System validates email and


inputs email, name, gender, password. If correct, the system
password and clicks “Sign Up”. will send a notification to verify
email.
[Alternative 1]
[Exception 1]

2 The actor click “Ok” button The system redirects to the Login
page.

Alternative Scenario:

Alternative 1

Ste Actor Action System Response


p.

1 In register page, System redirects to Google OAuth page


actor

select tab “Login


with Google”.

2 User chooses System validates email address. If correct,


Google redirect to dashboard home page.

account and login

Exceptions:

Ste Actor System Response


p. Action

1 The actor System shows an error message “This email has


fills email been registered and is not verified, please verify and
login".

Relationships:

This use case is related to the "Register User" use case.

Business Rules:

Users must have a valid Account to log in.

3.3.1.3 Login
3.3.1.3.1 Use cases specification

USE CASE-04 SPECIFICATION

Use-case No. UC04 Use-case Version 1.0

Use-case Name Login

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

This use case describes the process of logging in users to the system
using system account.

Goal:

This feature allows actor to login to website

Triggers:

The actor wants to authorize to the system so that he could access


more functions as a member
Preconditions:

Actor has created an account in the Blossom application.

Post Conditions:

Success: System redirects actor to dashboard home page

Main Success Scenario:

Ste Actor Action System Response


p.

1 In the login page, the actor System validates username and


inputs username and password password. If correct, redirect to
and clicks “Login”. dashboard home page.

[Alternative 1] [Exception 1, 2, 3]

2 If correct, redirect to dashboard


home page.

Alternative Scenario:

Alternative 1

Ste Actor Action System Response


p.

1 In login page, actor System redirects to Google OAuth page

select tab “Login


with Google”.

2 User chooses System validates email address. If correct,


Google redirect to dashboard home page.

account and login

Exceptions:

Ste Actor Action System Response


p.

1 At least one input field System shows an error message


doesn’t match the corresponding to the fail constraint.
constraint

2 Email does not exist in the System shows error message: “Email
system not exist in the system”

3 Password does not correct System shows error message:


“Password is not valid. Please enter
again”

Relationships:

This use case is related to the "Register User" use case.

Business Rules:

Users must have a valid Account to log in.

If actors input the wrong password 5 times, their username will be locked
in 10 minutes.

3.3.1.4 Logout
3.3.1.4.1 Use cases specification

USE CASE-05 SPECIFICATION

Use-case No. UC05 Use-case Version 1.0

Use-case Name Logout


Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

This use case describes the process of logging out of an account


once logged into the system.

Goal:

This feature allows actors to log out of the website.

Triggers:

The actor wants to log out the system so that he could login another
account he want

Preconditions:

Actor has created an account in the Blossom application.

Post Conditions:

Success: System redirects actor to dashboard home page

Main Success Scenario:

Ste Actor Action System Response


p.

1 In the home page when the The system will display all
actor logs in successfully, the information about the user account
actor clicks “Avatar” in the like “My account”, “View Wallet”,
header. “Order History”, “Log Out" .

2 The actor clicks “Log Out”. System redirect to dashboard home

[Alternative 1]
page.

Alternative Scenario:

Alternative 1

Ste Actor Action System Response


p.

1 The user clicks "Logout", The system redirects to the login page
but their session has with a message: "Session expired,
already expired. please log in again."

Relationships:

This use case is related to the "Register User" use case.

Business Rules:

Users must have a valid Account to log in.

If actors input the wrong password 5 times, their username will be locked
in 10 minutes.

3.3.1.5 Manage Profile


3.3.1.5.1 Use cases specification

USE CASE-06 SPECIFICATION


Use-case No. UC06 Use-case Version 1.0

Use-case Name Manage Profile

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

This use case describes the process of managing user accounts when
accessing the system with a valid account.

Goal:

This feature allows actors to manage user profiles.

Triggers:

The actor wants to grant the system permissions so that he can


access his personal profile management as a member.

Preconditions:

Actor has created an account in the Blossom application.

Post Conditions:

Success: System redirects actor to manage profile page

Main Success Scenario:

Ste Actor Action System Response


p.

1 In the home page, the The system will display all information
actor clicks “Avatar” about the user account like “My account”,
in the header. “View Wallet”, “Order History”, “Log Out" .
2 The actor clicks “My The system will redirect to My Profile page
account"

Relationships:

This use case is related to the "Register User" use case.

Business Rules:

Users must have a valid Account in the system.

3.3.1.6 Edit Profile


3.3.1.6.1 Use cases specification

USE CASE-07 SPECIFICATION

Use-case No. UC07 Use-case Version 1.0

Use-case Name Edit profile

Author Đào Xuân Tịnh

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

The use case describes the profile editing process for sellers, buyers,
and administrators.

Goal:

The goal of this use case is to allow users (buyers, sellers, and
admins) to quickly edit profiles.

Trigger

Actors want to change their profile more completely


Preconditions:

User has been authenticated and logged in successfully

Post Conditions:

Success: System redirects actor to profile page

Main Success Scenario:

Ste
p Actor Action System Response

The system will display all information


In dashboard home page, about the user account like “My
1 actor clicks to “Avatar” account”, “View Wallet”, “Order
History”, “Log Out" .

Redirect the actor to the profile page


and The system will provide a form to
fill out with the following fields:
The actor clicks “My Name*:
2 Email*:
account"
Phone*:
Gender*:

[Exception 1]

In the profile page, the


actor can upload image,
3
inputs email, name, phone,
gender

The system will response a


The actor click “Save notification: “Success
4
changes”
Update profile successful“
Exceptions:

No
. User Action System Response

The actor doesn't fill The system will response: “Name is


1
name required”

The actor doesn't fill The system will response: “Email is


2
email required”

The actor doesn't fill The system will response: “Phone number is
3
phone invalid”

Relationships:

This use case is related to the "Manage Profile" use case. .

Business Rules:

Users must have a valid Account to log in.

3.3.1.7 Get notification


3.3.1.7.1 Use cases specification

USE CASE-08 SPECIFICATION

Use-case No. UC08 Use-case Version 1.0

Use-case Name Get notification

Author Võ Minh Đức

Date 26/09/2024 Priority High


Actor:

Registered user

Summary:

Users receive notifications about activities on the system

Goal:

The goal of this Use Case is to allow the recipient to receive system
notifications.

Triggers:

Registered users want to know what system notifications are like.

Preconditions:

PRE-1. User is logged into the system

The following conditions:

POST-1. <Success> he system notifies the user when clicking on the


"Bell image"

POST-2. The user will see the entire message displayed

Ste
p Actor Action System Response

On the home page, the actor The system will display the
1
selects the "Bell image” notification bar

Actor click “Read more" The system will display all


2
[Alternative 1] the notification

Alternative Scenario:

Ste Actor Action System Response


p

2.1 Actor click “Mark all as The system will format to its basic
read" initial state.

Exceptions:
N/A
Relationships:

None .

Business Rules:

Users must have a valid Account to log in.

3.3.1.8 Recover Password


3.3.1.8.1 Use cases specification

USE CASE-09 SPECIFICATION

Use-case No. UC09 Use-case Version 1.0

Use-case Name Recover Password

Author Nguyễn Trần Tấn Phát

Date 26/09/2024 Priority High

Actor:

Registered user

Summary:

Users want to recover passwords on the system.

Goal:

The goal of this Use Case is to allow a user to recover your password

Triggers:

The actor wants to recover passwords to an account in the Blossom


web application.

Preconditions:
PRE-1. User has not logged in

Post Conditions:

POST-1. <Success> The system will send password reset


information via email.

Ste
p Actor Action System Response

The system will provide a form


to fill out with the following
On the “Sign in" page, the actor fields:
1 selects the "Forgot Password" Please enter your email below
link.
Email*:

[Exception 1]

The system will display


response:
2 Actor enters email information
“Please check your email to
reset password”

Exceptions:

No
. Cause System Response

1 The email doesn’t match in The system will display response:


database
“Error

Email not found, please register


account.”
Relationships:

None.

Business Rules:

User must have a account valid in the system after Recover


password

3.3.1.9 Manage Wallet


3.3.1.9.1 Use cases specification

USE CASE-10 SPECIFICATION

Use-case No. UC10 Use-case Version 1.0

Use-case Name Manage Wallet

Author Đỗ Huỳnh Nguyên Vũ

Date 26/09/2024 Priority High

Actor:

Flower Buyers, Flower Sellers

Summary:

Flower Buyers and Flower Sellers want to manage my wallet in the


system.

Goal:

The goal of this Use Case is to allow Flower Buyers, Flower Sellers to
manage their personal wallets.

Triggers:
The actor wants to manage a wallet in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will display managed wallet


information.

POST-2. User is redirected to the View Wallet screen

Ste
p Actor Action System Response

In the home page,


The system will display all information
the actor clicks
1 about the user account like “My account”,
“Avatar” in the
“View Wallet”, “Order History”, “Log Out" .
header.

The actor clicks


2 The system will redirect to My Wallet page
“View Wallet"

Relationships:

None.

Business Rules:

Users must have a valid Account in the system.

3.3.1.10 View Wallet Log


3.3.1.10.1 Use cases specification

USE CASE-11 SPECIFICATION

Use-case No. UC11 Use-case Version 1.0


Use-case Name View Wallet Log

Author Đỗ Huỳnh Nguyên Vũ

Date 26/09/2024 Priority High

Actor:

Flower Buyers, Flower Sellers

Summary:

Flower Buyers and Flower Sellers want to View wallet log in the
system.

Goal:

The goal of this Use Case is to allow Flower Buyers, Flower Sellers to
view their personal wallets.

Triggers:

The actor wants to view a wallet in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will display view wallet


information.

POST-2. User is redirected to the View Wallet screen

Ste
p Actor Action System Response

In the home page,


The system will display all information
the actor clicks
1 about the user account like “My account”,
“Avatar” in the
“View Wallet”, “Order History”, “Log Out" .
header.

2 The actor clicks The system will redirect to My Wallet page


“View Wallet" and display all log in wallet

Relationships:

This use case relationship with Manage Wallet

Business Rules:

Users must have a valid Account in the system.

3.3.1.11 Deposit
3.3.1.11.1 Use cases specification

USE CASE-12 SPECIFICATION

Use-case No. UC12 Use-case Version 1.0

Use-case Name Deposit

Author Đỗ Huỳnh Nguyên Vũ

Date 26/09/2024 Priority High

Actor:

Flower Buyers, Flower Sellers

Summary:

The actor want to deposit money into the system

Goal:

The goal of this Use Case is to allow actor deposit money into
account.

Triggers:

The actor wants to deposit into account in the Blossom web


application.
Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will update account balance


information.

Ste
p Actor Action System Response

In the home page, the The system will display all information
1 actor clicks “Avatar” in about the user account like “My account”,
the header. “View Wallet”, “Order History”, “Log Out" .

The actor clicks “View


2 The system will redirect to My Wallet page
Wallet"

The system will display: “Top up to


Actor clicks on the wallet form"
3 "Top up to wallet”
Amount(đ)*:
button.
[Exception 1]

Actor fills a money to


4
deposit

5 Actor click “Top Up" The system will redirect to payOS

Actor scan for pay the The system will redirect to “View Wallet”
6
transaction and update balance account

Exceptions:
No
. Cause System Response

Input amount smaller The information will display: “Minimum


1
than 20.000đ top-up is 20,000₫”

Relationships:

This use case relationship with Manage Wallet

Business Rules:

Users must have a valid Account in the system.

3.3.1.12 Create Refund Order


3.3.1.12.2 Use cases specification

USE CASE-15 SPECIFICATION

Use-case No. UC15 Use-case Version 1.0

Use-case Name Create Refund Order

Author Đỗ Huỳnh Nguyên Vũ

Date 26/09/2024 Priority High

Actor:

Buyer

Summary:

Buyer creates refund order flowers on the system.

Goal:

The goal of this Use Case is to allow buyers to create refund order
flowers on the system .

Triggers:

The actor wants to create a refund order flower in the Blossom web
application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The stores will display a refund order for


buyers

Ste
p Actor Action System Response

In the home page, the The system will display all information
1 actor clicks “Avatar” about the user account like “My account”,
in the header. “View Wallet”, “Order History”, “Log Out" .

The actor clicks The system will redirect to Order History


2
“Order History" page

The actor click “Đã


3
giao”

Actor clicks on the


The system will provide form to fill:
4 “Create Refund
Lý do hoàn đơn:
Order".

The system will display “Success, wait for


5 Actor clicks “Accept”
processing"

Relationships:
None.

Business Rules:

None.

3.3.1.13 Track Order

3.3.1.13.1 Use cases specification

USE CASE-16 SPECIFICATION

Use-case No. UC16 Use-case Version 1.0

Use-case Name Track Order

Author Đỗ Huỳnh Nguyên Vũ

Date 26/09/2024 Priority High

Actor:

Buyer

Summary:

The actor will track my order in the system

Goal:

The goal of this Use Case is to allow buyer to track order in the
system.

Triggers:

The actor wants to track order in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will response “Tình trạng đơn


hàng” information.
Ste
p Actor Action System Response

In the home page,


The system will display all information
the actor clicks
1 about the user account like “My account”,
“Avatar” in the
“View Wallet”, “Order History”, “Log Out" .
header.

The actor clicks “Lịch The system will redirect “Order-history”


2
sử đặt hàng" page

Actor clicks on the The system response information “Đơn


3
"Chưa xử lý” button chưa xử lý”

Actor clicks on the


The system response information “Đơn
4 “Đang chuẩn bị"
đang chuẩn bị”
button.

Actor clicks on the The system response information “Đơn


5
“Đang giao” button đang giao”

Actor clicks on the The system response information “Đơn đã


6
“Đã giao” giao”

Exceptions:

No
. Cause System Response

Network If there is a network failure during the upload,


1 Connection System notifies the Buyers to try again once the
Failure connection is restored

Relationships:

None.
Business Rules:

None.

3.3.1.14 Manage Cart


3.3.1.14.1 Use cases specification

USE CASE-17 SPECIFICATION

Use-case No. UC17 Use-case Version 1.0

Use-case Name Manage Cart

Author Nguyễn Trần Tấn Phát

Date 26/09/2024 Priority High

Actor:

Flower Buyers

Summary:

Buyer wants to manage the cart on the system.

Goal:

The goal of this Use Case is to allow buyers to manage cart in


account.

Triggers:

The actor wants to manage the cart in account in the Blossom web
application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will display the cart information.


Ste
p Actor Action System Response

On the home page, the The system will display the “Cart
1 actor selects the "Cart bar", “View Cart", “Continue to
image". Order"

2 The actor click “View Cart" The system will direct the Cart page

Exceptions:

N/A

Relationships:

None.

Business Rules:

Users must have a valid Account in the system.

3.3.1.15 Add item


3.3.1.15.1 Use cases specification
USE CASE-18 SPECIFICATION

Use-case No. UC18 Use-case Version 1.0

Use-case Name Add item

Author Nguyễn Trần Tấn Phát

Date 26/09/2024 Priority High

Actor:

Flower Buyer

Summary:
Buyers add flower to cart on the system.

Goal:

The goal of this Use Case is to allow buyers add flower to cart.

Triggers:

The actor wants to add flower to cart in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system stores user registration


information.

POST-2. User is redirected to the Home screen

Ste
p Actor Action System Response

On the home page, the The system will display sidebar and
actor selects the "Thêm response: “Thành công
1
vào giỏ" button.
[Alternative 1, 2] Bạn vừa thêm Hoa * vào giỏ hàng”

Alternative Scenario:

Alternative 1

Ste Actor Action System Response


p.

1 On the home page, the System redirects to “Product-details”


actor click “Flower page
image”

2 The actor click “Thêm The system will display sidebar and
vào giỏ hàng” response: “Thành công

Bạn vừa thêm Hoa * vào giỏ hàng”

Alternative 2

Ste Actor Action System Response


p.

1 On the home page, the System redirects to “Product-details”


actor click “Flower page
image”

2 The actor click “Mua The system will redirect to “Cart” page
ngay”

Exceptions:

No
. Cause System Response

Network If there is a network failure during the upload,


Connection System notifies the Admin to try again once the
1 Failure connection is restored.

If the cart item’s quantity is greater than flower’s


Flower out of quantity. The system will display an error message
2
stock “Flower listing is out of stock” and the cart item
won’t be added to the system
Relationships:

None.

Business Rules:

None.

3.3.1.16 Remove item

3.3.1.16.1 Use cases specification

USE CASE-19 SPECIFICATION

Use-case No. UC02 Use-case Version 1.0

Use-case Name Remove item

Author Nguyễn Trần Tấn Phát

Date 26/09/2024 Priority High

Actor:

Flower Buyers

Summary:

Flower Buyers remove item in cart

Goal:

The goal of this Use Case is to allow flower buyers to remove item in
cart.

Triggers:

The actor wants to remove item in the Blossom web application.

Preconditions:
PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The cart item will be removed from user

Ste
p Actor Action System Response

On cart page, The actor click


“Delete image” button The system will remove cart item
1
and display new cart
[Alternative 1,]

Alternative Scenario:

Alternative 1

Ste Actor Action System Response


p.

1 On the cart page, the The system will display “Your cart is
actor click “Xóa giỏ currently empty”
hàng”

Exceptions:

No
. Cause System Response

Network If there is a network failure during the upload,


Connection System notifies the Admin to try again once the
1 Failure connection is restored.

Relationships:
None.

Business Rules:

None.

3.3.1.17 Update Item quantity


3.3.1.17.1 Use cases specification

USE CASE-19 SPECIFICATION

Use-case No. UC19 Use-case Version 1.0

Use-case Name Update Item quantity

Author Nguyễn Trần Tấn Phát

Date 26/09/2024 Priority High

Actor:

Flower Buyers

Summary:

Users update item quantity flower on the system.

Goal:

The goal of this Use Case is to allow user to update item quantity
flower

Triggers:

The actor wants to update item quantity in the Blossom web


application.

Preconditions:
PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will update quantity of flower


information in the system.

Ste
p Actor Action System Response

On the cart page, the actor click The system will response
1
“+”, “-“ to update quantity quantity of flower in the system

Exceptions:

No
. Cause System Response

If update
1 quantity is equal The system will remove cart item
to 0

If there is a network failure during the upload,


Network System notifies the Buyers to try again once the
Connection connection is restored.
2 Failure

Relationships:

None.

Business Rules:

None.
3.3.1.18 Place Order
3.3.1.18.1 Use cases specification

USE CASE-21 SPECIFICATION

Use-case No. UC20 Use-case Version 1.0

Use-case Name Place Order

Author Nguyễn Hoàng Phúc

Date 26/09/2024 Priority High

Actor:

Buyers

Summary:

Buyers place order flowers on the system.

Goal:

The goal of this Use Case is to allow buyers to place order flowers in
a system.

Triggers:

The actor wants to place order flowers in the Blossom web


application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will display place order


information.

Ste
p Actor Action System Response

1 On the home page, the actor The system will redirect the
selects the "Flower image". “Product Detail" page

The system will display the “Cart”


2 Actor clicks on “Add to cart”
bar

Actor clicks on the "View Cart”


3 The system redirect to Cart page
button.

Actor clicks on the "-” button. The system will reduce quantity,
4
[Alternative 1,2] update total, update cart total.

Alternative 1:

No Actor action System Response


.

Actor click on the The system will reduce quantity, update total,
5
“+” button update cart total.

Alternative 2:

No
. Actor action System Response

Actor click on the The system will delete product, update total,
6
“x” button update cart total.

Relationships:

None.

Business Rules:

The flowers must be available in store.


3.3.1.19 Validate Payment Information
3.3.1.19.1 Use cases specification

USE CASE-22 SPECIFICATION

Use-case No. UC22 Use-case Version 1.0

Use-case Name Validate Payment Information

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Buyers

Summary:

Buyers pay for a flower on the system.

Goal:

The goal of this Use Case is to allow buyers to pay flowers on the
system.

Triggers:

The actor wants to pay for flowers in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system stores user registration


information.

Ste
p Actor Action System Response
On the home page, the
The system will redirect the “Product
1 actor selects the "Flower
Detail" page
image".

Actor clicks on “Add to


2 The system will display the “Cart” bar
cart”

Actor clicks on the "View


3 The system redirect to Cart page
Cart” button.

Actor clicks on the The system redirects to the Order Detail


4 “Proceed to Order". page and display form to fill: Name*,
Phone*, Address*, Note.

Actor fill full form and


click “Pay by Wallet”
5
button
[Alternative 1]

The actor will click “Place The system will display “You order was
6
Order" successfully completed.”

Alternative 1:

No
. Actor action System Response

The actor will click “Cash


1
on Delivery"

The actor will click The system will display “You order was
2
“Place Order" successfully completed.”

Relationships:
This use case is related to the "Place Order" use case. .

Business Rules:

None.

3.3.1.20 Manage Transaction


3.3.1.20.1 Use cases specification

USE CASE-23 SPECIFICATION

Use-case No. UC23 Use-case Version 1.0

Use-case Name Manage Transaction

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Admin

Summary:

Admin manages transactions on the system.

Goal:

The goal of this Use Case is to allow the admin to manage


transactions into the system.

Triggers:

The actor wants to manage transactions in the Blossom web


application.

Preconditions:
PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system will display the transaction


information.

Ste
p Actor Action System Response

On the admin page, the admin The system will display


1
click “Manage Transaction" “Manage Transaction" page

Relationships:

None.

Business Rules:

The system must login by admin account.

3.3.1.21 View All Transaction


3.3.1.21.1 Use cases specification

USE CASE-24 SPECIFICATION

Use-case No. UC25 Use-case Version 1.0

Use-case Name View All Transaction

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Admin
Summary:

Admin view all transactions on the system.

Goal:

The goal of this Use Case is to allow the admin to view all
transactions into the system.

Triggers:

The actor wants to view all transactions in the Blossom web


application.

Preconditions:

PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system will display all information about


transactions for all users in the system.

Ste
p Actor Action System Response

On the admin page, the admin The system will display


1
click “Manage Transaction" “Manage Transaction" page

Actor clicks on the “View All The system will display all
2
Transaction". transaction user in the system

Relationships:

This use case is related to the "Manage Transaction" use case.

Business Rules:

None.
3.3.1.22 Manage Users
3.3.1.22.1 Use cases specification
USE CASE-25 SPECIFICATION

Use-case No. UC26 Use-case Version 1.0

Use-case Name Manage Users

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Admin

Summary:

Admin manages all user accounts on the system.

Goal:

The goal of this Use Case is to allow admin to manage all user
accounts.

Triggers:

The actor wants to manage an account in the Blossom web


application.

Preconditions:

PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system displays all user information.

Ste
p Actor Action System Response

On the home page, the actor selects The system will display User
1
the "Quản lý người dùng" tab. Management page
The system redirect to
2 Actor click “see image" button
“Thông tin chi tiết" page

Relationships:

None.

Business Rules:

None.

3.3.1.23 Manage Flowers


3.3.1.23.1 Use cases specification

USE CASE-26 SPECIFICATION

Use-case No. UC26 Use-case Version 1.0

Use-case Name Manage Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High


Actor:

Admin

Summary:

Admin manages all flowers on the system.

Goal:

The goal of this Use Case is to allow admin to manage flowers on the
system.

Triggers:

The actor wants to manage the flower in the Blossom web


application.

Preconditions:

PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system displays all flower listing


information.

Ste
p Actor Action System Response

On the admin page, the actor


The system will display all
1 selects the "Quản lý sản phẩm"
flower listing information
tab.

Relationships:

None.

Business Rules:

None.
3.3.1.24 Delete Flowers
3.3.1.24.1 Use cases specification

USE CASE-27 SPECIFICATION

Use-case No. UC27 Use-case Version 1.0

Use-case Name Delete Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Admin

Summary:

Admin delete the flower on the system.

Goal:

The goal of this Use Case is to allow admin to delete flowers on the
system.

Triggers:

The actor wants to delete flowers in the Blossom web application.

Preconditions:

PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system reset flower listing information.

Ste
p Actor Action System Response

1 On the admin page, the actor The system will display all
selects the "Quản lý sản phẩm"
flower listing information
tab.

2 The actor click “-” button The system will delete flower

Relationships:

This use case is related to the "Manage Flower" use case.

Business Rules:

None.

3.3.1.25 Approve/Reject Flowers


3.3.1.25.1 Use cases specification

USE CASE-28 SPECIFICATION

Use-case No. UC28 Use-case Version 1.0

Use-case Name Approve/Reject Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Admin

Summary:

Admin approve/reject the flower on the system.

Goal:

The goal of this Use Case is to allow approval/rejection of the flower


on the system.

Triggers:
The actor wants to approve/reject the flower in the Blossom web
application.

Preconditions:

PRE-1. Admin must logged in

Post Conditions:

POST-1. <Success> The system stores flower information.

Ste
p Actor Action System Response

On the admin page, the actor


The system will display all flower
1 selects the "Quản lý sản
listing information
phẩm" tab.

The actor click “eye image” The system will redirect “thông tin
2
button bài đăng" page

The actor click “Đồng ý" The system display “Duyệt thành
3 công đơn hàng ***** của người
[Alternative 1] dùng *****”

Alternative 1:

No
. Actor action System Response

The system will provide a form to fill out with


Actor click on the the following fields:
4
“Từ chối” Từ chối đơn hàng:
(Nhập lý do từ chối).

Actor enters “Nhập


5
lý do từ chối”
Actor click “Xác The system will display: “Từ chối thành công
6
nhận từ chối" đơn hàng *** của người dùng ***”

Relationships:

This use case is related to the "Manage Flower" use case. .

Business Rules:

None.

3.3.1.26 Manage My Flowers


3.3.1.26.1 Use cases specification

USE CASE-29 SPECIFICATION

Use-case No. UC29 Use-case Version 1.0

Use-case Name Manage Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High


Actor:

Seller

Summary:

Sellers manage flowers on the system.

Goal:

The goal of this Use Case is to allow sellers to manage flowers on the
system.

Triggers:

The actor wants the seller to manage flowers in the Blossom web
application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system displays all flower listing


information

Ste
p Actor Action System Response

In the home page, the actor clicks The system will display
1
“Seller Channel” in the header. “Seller Channel" page

The actor clicks “Product The system display all


2
Management" flower listing.

Relationships:

None.

Business Rules:

None.
3.3.1.27 Accept/Reject Refund
3.3.1.27.1 Use cases specification

USE CASE-30 SPECIFICATION

Use-case No. UC30 Use-case Version 1.0

Use-case Name Accept/Reject Refund

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Seller

Summary:

Sellers accept/reject refund orders for buyers on the system.

Goal:

The goal of this Use Case is to allow Sellers accept/reject refund


orders for buyers on the system.

Triggers:

The actor wants to accept/reject the refund order in the Blossom web
application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system will display accept/reject


successful on the system

Ste
p Actor Action System Response
In the home page, the actor
The system will display “Seller
1 clicks “Seller Channel” in the
Channel" page
header

The system will display “Order


2 Actor click “Order Management"
Management" page

Actor clicks on the "Action eye” The system will display


3
button. information about order

Actor clicks on the “Confirm


Refund Order" The system display: “Refund
4
Order Success"
[Alternative 1]

Alternative 1:

No
. Actor action System Response

The system will provide a form to fill out


Actor click on the “Reject with the following fields:
5
Refund Order ” Từ chối trả hàng:
(Nhập lý do từ chối).

5. Actor enters “Nhập lý do


1 từ chối”

Actor click “Reject Refund The system will display: “Reject Refund
6
Order" Order Success”

Relationships:

This use case is related to the "Manage My Flower" use case.

Business Rules:
None.

3.3.1.28 Post Flowers


3.3.1.28.1 Use cases specification

USE CASE-31 SPECIFICATION

Use-case No. UC31 Use-case 1.0


Version

Use-case Name Post Flowers

Author Võ Minh Đức

Date 26/09/202 Priority High


4

Actor:

Seller

Summary:

Actors post flower on the system.

Goal:

The goal of this Use Case is to allow actors to post the flower.

Triggers:

The actor wants to post flowers in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system stores flower information.

Ste
Actor Action System Response
p
In the home page, the actor click The system will redirect to
1
“Kênh người bán” button “Seller-channel” page

In the “Seller-channel” page, the The system will show “Thêm


2
actor click “Quản lý sản phẩm" sản phẩm mới” button

The system will provide a form


to fill out with the following
fields:
Ảnh sản phẩm:
Ảnh bìa:
Tên sản phẩm:
Actor click “Thêm sản phẩm mới"
3 Danh mục sản phẩm:
button
Địa chỉ:
Sản phẩm giá (VNĐ):
Số lượng sản phẩm:
Ngày hết hạn:
Ngày hết hạn của hoa:
Mô tả sản phẩm:

4 Actor fills in all information form

Actor clicks on the "Hoàn tất”


The system display “Thêm hoa
5 button.
thành công"
[Alternative 1]

Alternative 1 Scenario:

Ste
p. Actor Action System Response

5a Actor click on “Quay lại” Trở về Step 2

Exception 1 Scenario:
No
. Cause System Response

The system detects the network


issue, the system displays an
error message indicating a
1 Network connection error connection problem.

Relationships:

This use case is related to the "Manage My Flower" use case.

Business Rules:

None.

3.3.1.29 Delete Flowers


3.3.1.29.1 Use cases specification

USE CASE-32 SPECIFICATION

Use-case No. UC32 Use-case Version 1.0

Use-case Name Delete Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Seller

Summary:

Sellers delete flowers on the system.

Goal:
The goal of this Use Case is to allow sellers to delete flowers .

Triggers:

The actor wants to delete flowers in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system deletes flower information.

Ste
p Actor Action System Response

On the home page, the actor


The system will redirect to
1 selects the "Kênh người bán" in
“Seller Channel" page
header.

The system will response “Quản


2 Actor click “Quản lý sản phẩm"
lý sản phẩm" information

The system response


Actor clicks “Delete image"
3 information: “Xóa sản phẩm
button
thành công"

Relationships:

This use case is related to the "Manage My Flower" use case.

Business Rules:

None.
3.3.1.30 Update Flowers
3.3.1.30.1 Use cases specification

USE CASE-33 SPECIFICATION

Use-case No. UC33 Use-case Version 1.0

Use-case Name Update Flowers

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Seller

Summary:

Seller update flower information on the system.

Goal:

The goal of this Use Case is to allow seller to update flower


information

Triggers:

The actor wants to update flowers in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system updates flower information.


Ste
p Actor Action System Response

On the home page, the actor selects The system will redirect to
1
the "Kênh người bán" in header. “Seller Channel" page

The system will response


2 Actor click “Quản lý sản phẩm" “Quản lý sản phẩm"
information

Redirect the actor to the


profile page and The
system will provide a form
to fill out with the
following fields:
Ảnh sản phẩm:
Actor clicks on the "Edit image”
3 Ảnh bìa:
button.
Tên sản phẩm:
Danh mục sản phẩm:
Địa chỉ:
Giá sản phẩm (VNĐ):
Số lượng sản phẩm:
Mô tả sản phẩm:

In “Chi tiết sản phẩm” page, the actor


can upload Ảnh sản phẩm, upload ảnh
4 bìa, input tên sản phẩm, danh mục sản
phẩm, địa chỉ, giá sản phẩm (VNĐ), số
lượng sản phẩm, mô tả sản phẩm

The system will response:


5 Actor click “Cập nhật" button
“Cập nhật thành công"

Relationships:

This use case is related to the "Manage My Flower" use case.


Business Rules:

None.

3.3.1.31 Manage Orders


3.3.1.31.1 Use cases specification

USE CASE-34 SPECIFICATION

Use-case No. UC34 Use-case Version 1.0

Use-case Name Manage Orders

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Sellers

Summary:

Sellers manage order information on the system.

Goal:

The goal of this Use Case is to allow sellers to manage order on the
system.

Triggers:

The actor wants to manage order in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system displays order information.


Ste
p Actor Action System Response

The system will redirect to


In the home page, the actor clicks “Seller Channel" page
1
“Seller Channel” in the header.

The actor clicks “Order The system redirect to


2
Management" “Order Management” page

Relationships:

None.

Business Rules:

None.

3.3.1.32 Update Order Status


3.3.1.32.1 Use cases specification

USE CASE-35 SPECIFICATION

Use-case No. UC35 Use-case Version 1.0

Use-case Name Update Order Status

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Sellers

Summary:
Sellers update order status on the system.

Goal:

The goal of this Use Case is to allow sellers to update status order on
the system.

Triggers:

The actor wants to update the status order in the Blossom web
application.

Preconditions:

PRE-1. User has not logged in

Post Conditions:

POST-1. <Success> The system update status order information.

Ste
p Actor Action System Response

The system will redirect to


In the home page, the actor clicks “Seller Channel" page
1
“Seller Channel” in the header

The actor clicks “Order The system redirect to


2
Management" “Order Management” page

Actor clicks on the "Eye image” The system redirect “Order


3
button. status information"

The system response:


Actor clicks on the “Confirm “Success
4
preparing goods". Update order detail
successfully.”

5 Actor clicks on the “Confirm The system response:


“Success
shipping". Update order detail
successfully.”

Relationships:

This use case is related to the "Manage Orders" use case.

Business Rules:

None.

3.3.1.33 View Order Status


3.3.1.33.1 Use cases specification

USE CASE-36 SPECIFICATION

Use-case No. UC36 Use-case Version 1.0

Use-case Name View Order Status

Author Võ Minh Đức

Date 26/09/2024 Priority High


Actor:

Seller

Summary:

Sellers view order status information on the system.

Goal:

The goal of this Use Case is to allow sellers to view order status on
the system.

Triggers:

The actor wants to view order status in the Blossom web application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system views order status information.

Ste
p Actor Action System Response

The system will redirect to


In the home page, the actor clicks “Seller Channel" page
1
“Seller Channel” in the header.

The actor clicks “Order The system redirect to


2
Management" “Order Management” page

Relationships:

This use case is related to the "Manage Orders" use case.

Business Rules:

None.
3.3.1.34 Monitor Sales Report
3.3.1.34.1 Use cases specification

USE CASE-37 SPECIFICATION

Use-case No. UC37 Use-case Version 1.0

Use-case Name Monitor sales report

Author Võ Minh Đức

Date 26/09/2024 Priority High

Actor:

Sellers

Summary:

Sellers monitor sale orders on the system.

Goal:

The goal of this Use Case is to allow sellers to monitor sale orders on
the system.

Triggers:

The actor wants to monitor sale orders in the Blossom web


application.

Preconditions:

PRE-1. User must logged in

Post Conditions:

POST-1. <Success> The system displays sales order report


information.

Ste Actor Action System Response


p

In the home page, the The system will redirect to “Seller


1 actor clicks “Seller Channel" page
Channel” in the header

The system will display:


Doanh thu
Lượt mua
The actor clicks Thêm vào giỏ hàng
2
“Statistical" Lượt xem sản phẩm
Tỉ lệ chuyển đổi
Doanh thu trong ngày
Mức đặt hàng trong ngày

The system sends email verification


Actor clicks on the "Sign and force users to verify email. Then
3 the message “Ok” will appear.
Up” button.
[Exception 2]

4 Actor clicks on the “Ok". The system switches to the login page.

Exceptions:

No
. Cause System Response

Network If there is a network failure during the upload, System notifies the
1
Connection Failure Admin to try again once the connection is restored.

Relationships:
None.

Business Rules:

None.

3.2 Class Diagram


3.2.1 Create Flower Diagram

3.2.2 Approve/Reject Diagram


3.3 Activity Diagram
3.3.1 Activity Diagram Search Flower
3.3.2 Activity Diagram Register
3.3.3 Activity Diagram Login
3.3.4 Activity Diagram Add Item
3.3.5 Activity Diagram Approve/Reject Flower
3.3.6 Activity Diagram Delete Flower
3.3.7 Activity Diagram Update Flower
3.3.8 Activity Diagram Order by Wallet
3.4 Sequence Diagram
3.4.1 Sequence Diagram
3.4.2 Sequence Diagram Login
3.4.3 Sequence Diagram Manage Cart

3.4.4 Sequence Diagram Add Item


3.4.5 Sequence Diagram Approve/Reject Flowers

3.4.6 Sequence Diagram Post Flower


3.3.7 Sequence Diagram Wallet Management
3.5 State Diagram
3.5.1 Requesting Flower Listing State
3.5.2 Order Status State

You might also like