首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
COMP9900程序讲解、辅导SQL,Java设计编程 辅导R语言程序|解析C/C++编程
项目预算:
开发周期:
发布时间:
要求地区:
COMP9900 Information Technology Project
2021 T2
Project Proposal
Project name: Scent Searcher
COMP9900 Project Proposal Group Pikachu
Table of Contents
Background 4
Objectives 5
Scent Searcher 5
Site Maintainer 5
User Stories and Sprints 6
Sprints 6
User Story Analysis 6
User Stories 8
Epic1: Create an account 8
Epic2: Log in and log out 8
Epic3: View perfume 8
Epic4: Search for perfume 8
Epic5: Review perfume 9
Epic6: Bookmark perfume 9
Epic7: Get recommended perfume 9
Epic8: Publish new perfume 10
Epic9: Notification 10
Epic10: Link account with Google 10
Jira Backlog 11
System Architecture 13
Software Architecture 13
Application Architecture 13
Related Technology 15
Group Management 17
Interface and Flow Diagram 18
Flow Diagram 19
Reference 20
2
COMP9900 Project Proposal Group Pikachu
Background
The consumer market for perfume is growing in recent years as people's quality of life
improves. The consumer base for perfume is also younger and is not limited to women alone.
The demand for fragrances is becoming more personalised and more and more niche brands are
being sought after by young people.
Many people want a platform where they can accurately search for fragrances with the
scent they want and get a basic idea of the fragrances they haven't come across based on other
people's reviews and ratings. Merchants also need a platform to publish their latest perfume
scents.
We visited some of the websites and forums on the market that attempt to implement
these features and found them to be inefficient, with some sites being too picky and
one-dimensional in their search for perfumes and scents, with users only being able to find the
perfume they want by searching for the name of the perfume, with no way to find a specific
perfume by scent, and no way to search for the perfume they want at multiple levels of specific
criteria. There is no way to find a specific perfume by fragrance, let alone search for the
perfume you want at multiple levels of specificity. The site is also slow to update with new
perfume releases and niche brands. Some forums are full of users sharing their experiences
with perfumes without a systematic rating function and are full of advertisements from
merchants. The lack of tags also makes it inefficient for users to find their favourite posts or
fragrances.
So we wanted to create a site that would serve both businesses and perfume lovers and
consumers. Users could search for their most desired scents in a more efficient and
personalised way. At the same time, a well-developed review and rating system would ensure
user activity and satisfy the needs of more merchants, so there would be a virtuous circle.
3
COMP9900 Project Proposal Group Pikachu
Objectives
On the scent searcher website, there are two identity roles available when registering:
scent searcher and site maintainer.
Scent Searcher:
As a scent searcher, they will first be able to create their own personal page, where they
will fill in their name, contact details and favourite scent notes, and when the scent searcher has
finished adding scent notes, the page will be updated with the recommended fragrances based
on the scent notes they have added. This allows them to find the perfume they are looking for
more quickly. The site also gives automatic alerts (in the form of notifications or emails) when
a new fragrance matches their scent notes.
Secondly, the site offers the following search modes: scent searcher can search for
perfumes matching a given set of notes and specify how many notes can be missing from the
results, and the results should be sorted in descending order of match; scent searcher can search
for the desired perfume by name (including fuzzy searches)
Thirdly, scent searchers can bookmark the fragrances they find and create
corresponding favourites, and comment on the fragrances they find (where each comment must
include some text and a rating out of 5), and the commenter's profile can be clicked on.
Last but not least, the full details of each perfume are clickable, including the name of the
perfume, brand, description, full set of notes, related images, related reviews, average review
ratings, and the number of likes for the perfume.
Site Maintainer:
As a site maintainer, they have the right to negotiate with merchants to promote new
fragrances and keep them up to date with all their details, including the name of the fragrance,
the brand, the description, and the full set of notes.
4
COMP9900 Project Proposal Group Pikachu
User Stories and Sprints
Sprints
[S1] Sprint 1: Week 4 - Week5 (before lab) Date: 21 June - 30 June
[S2] Sprint 2: Week 5 - Week6 Date: 1 July - 11 July
[S3] Sprint 3: Week 7 - Week8 (before lab) Date: 12 July - 21 July
[S4] Sprint 4: Week 8 - Week9 Date: 22 July - 1 Aug
User Story Analysis
All user stories of the Scent Searcher platform are given below. The stories are designed
based on the project objectives and analysis of existing systems. Each story has a unique
number, which is referenced from the User Stories part below. For the following paragraphs,
we will show our analysis about user stories based on the project objective.
1. Scent searchers have access to create a new account, log in and log out from the site, which
can be satisfied by user story 1, 5, and 6. Also, scent searchers are able to view full details
about any perfume on the platform, including its name, brand, description, full set of notes,
an associated image, associated reviews, average review rating, and the number of likes for
the perfume, which is satisfied by user story 10. At the same time, scent searchers can like
and leave reviews for any perfume on the platform, where each review includes some text
and a rating out of 5, which can be satisfied by user story 17, 18 and 19. Furthermore, scent
searchers can navigate to any review author's profile, which is satisfied by user story 20.
Besides, scent searchers are able to save a bookmark for any interesting perfume and are
able to see the entire set of all bookmarked perfumes at any time, also they can navigate to
any review author’s profile, which is satisfied by user story 21, 22, 23 and 24. All these
functions are part of the main requirements in the Scent Searcher website.
2. Site maintainers also have access to create a new account, log in and log out from the site,
which can be satisfied by user story 3, 7, and 8. Site maintainers are able to publish new
perfumes on the platform, including details about the perfume's name, brand, description,
full set of notes and an associated image for the perfume, which is satisfied by user story 27.
All these functions are part of the main requirements in the Scent Searcher website.
5
COMP9900 Project Proposal Group Pikachu
3. The first important and novel function of our site is the recommendation system for scent
searchers. Scent searchers are able to get recommended perfumes on their profile page
according to the favourite scent notes they choose. They may change their favourite scent
notes in their profile, which means the recommendation result will be updated based on that
as well. This function is satisfied by user story 25 and 26, and it will help scent searchers
find new perfumes they might be interested in.
4. One more special function on our site is that scent searchers will be notified on their profile
when a new perfume is added that matches their favourite scent notes. At the same time,
scent searchers can navigate to the detail page of the new perfume directly from the
notification, which will definitely save some time for scent searchers to look for perfume
they are interested in. This function will be met through user story 29 and 30.
5. On our site, we also add some features for site maintainers. If they feel like one of their
published perfumes is out of style, they can also have a choice to delete their published
perfume on the platform. This function is satisfied by user story 28.
6. Another novel function of our site is the search function. The scent searchers can search a
perfume by its name as well as its partial name if they cannot remember the name exactly.
This function is satisfied by user story 11 and 12. Additionally, scent searchers can directly
navigate to one perfume’s detail page for any searching result. This function is satisfied by
user story 16.
7. Compared with existing systems, another novel feature is that scent searchers can search a
perfume by its notes. When searching by notes, scent searchers can decide which notes must
appear in the result perfume, which might appear in the result perfume and which cannot
appear in the result perfume. Also, the search result will show which notes are included and
which are missing. If multiple matching results are found, these results will be displayed in
descending order of the number of matching notes. This function is satisfied by user story
13, 14 and15.
6
COMP9900 Project Proposal Group Pikachu
User Stories
Each story belongs to a sprint we defined above, specified in square brackets.
Epic1: Create an account
1. [S1] As a scent searcher, I want to create an account.
2. [S1] As a scent searcher, I want to have my own profile, where I can specify my name,
contact details (email), and my favourite scent notes.
3. [S1] As a site maintainer, I want to create an account.
4. [S1] As a site maintainer, I want to have my own profile, where I can specify my name,
contact details (email), and my published perfumes.
Epic2: Log in and log out
5. [S1] As a scent searcher, I want to log in to my account, so I can get all the scent
searchers’ function access.
6. [S1] As a scent searcher, I want to log out my account.
7. [S1] As a site maintainer, I want to log in to my account, so I can get all the
maintainers’ function access.
8. [S1] As a site maintainer, I want to log out my account.
Epic3: View perfume
9. [S1] As a scent searcher, I want to see the scent notes via tags and icons, so I do not
need to remember the complicated scent words.
10. [S2] As a scent searcher, I want to view any perfume’s full detail page which I am
interested in, including their name, brand, description, full set of notes, an associated
image, associated reviews, average review rating and the number of likes.
Epic4: Search for perfume
11. [S2] As a scent searcher, I want to search perfumes by name, so I can get the details
about the perfume which I might be interested in.
12. [S2] As a scent searcher, I want to search for perfumes by their partial name, because
sometimes I don’t remember their name exactly.
7
COMP9900 Project Proposal Group Pikachu
13. [S2] As a scent searcher, I want to search for perfumes that match a given set of notes,
so I can know which perfume or perfumes are suitable for me.
14. [S2] As a scent searcher, while searching perfumes by scent notes, I want to know
which note or notes are missing from the results.
15. [S2] As a scent searcher, while searching perfumes by scent notes, I want to know the
matching results by sorting, that is, perfumes with more matching notes come first.
16. [S2] As a scent searcher, I want to navigate to any perfume detail for any search results.
Epic5: Review perfume
17. [S3] As a scent searcher, I want to leave reviews for any perfume on the platform, so I
can help other scent searchers find their desired scents.
18. [S3] As a scent searcher, I want to leave thumbs (like) any perfume, so I can help other
scent searchers find their desired scents.
19. [S3] As a scent searcher, I want to rate out of 5 for any perfume.
20. [S3] As a scent searcher, I want to be able to navigate to any review author’s profile
while looking through the reviews of the perfumes.
Epic6: Bookmark perfume
21. [S3] As a scent searcher, I want to save a bookmark for one perfume that I am interested
in, so I do not need to search for it next time.
22. [S3] As a scent searcher, I want to see my entire set of all bookmarked perfumes at any
time, so I can know which perfumes I like at any time.
23. [S3] As a scent searcher, I want to navigate to the details of any perfume I like in my
bookmark, so I do not need to search for it again.
24. [S3] As a scent searcher, I want to delete one bookmarked perfume at any time if I am
no longer interested in it.
Epic7: Get recommended perfume
25. [S4] As a scent searcher, I want to update my favourite notes at any time.
26. [S4] As a scent searcher, I want to get some recommendations on my profile about
which perfume I might be interested in based on my favourite notes.
8
COMP9900 Project Proposal Group Pikachu
Epic8: Publish new perfume
27. [S2] As a site maintainer, I want to publish new perfumes on the platform, including
details about a perfume's name, brand, description, note composition (its full set of
notes), and an associated image, so the scent searcher can search it.
28. [S4] As a site maintainer, I want to delete any perfume which I have published at any
time.
Epic9: Notification
29. [S4] As a scent searcher, I want to be notified on my profile when some site maintainer
adds a new perfume that matches my favourite notes, so I can get a potentially
interesting perfume.
30. [S4] As a scent searcher, when I get a notification about a new perfume, I want to
navigate to the perfume page directly to look through the full details, so I can save some
time.
Epic10: Link account with Google
31. [S4] As a scent searcher, I want to associate my account with Google account to
facilitate my next login.
32. [S4] As a site maintainer, I want to associate my account with Google account to
facilitate my next login.
9
COMP9900 Project Proposal Group Pikachu
Jira Backlog
All user stories have been set up in Jira. A screenshot with all issues in Jira Product Backlog is
as follows.
10
COMP9900 Project Proposal Group Pikachu
11
COMP9900 Project Proposal Group Pikachu
System Architecture
Software Architecture
In the front-end, HTML, CSS, JavaScript and React are applied to complete the design.
Then, Python Flask is our main framework for the development of the back-end. For data, we
use Amazon-related services to deploy, like Amazon EC2 server, Amazon RDS with MySQL,
and Amazon S3, which is applied in images. In addition, the third API, such as Google, could
be utilized. The main software architecture is presented as the following graph:
Application Architecture
12
COMP9900 Project Proposal Group Pikachu
We use the MVC model(Model-View-Control) to develop this site. The part of View is
the interface to interact with the users(in this site, they are Scent searcher and Site maintainer),
in this part HTML, CSS could be applied. The part of the controller, which is an agent to
communicate between the front-end and back-end. For the Model, the process of the data,
developing certain functions and design of the database is realized in this part.
13
COMP9900 Project Proposal Group Pikachu
Related Technology
In this project, we mainly use the following technologies to achieve related functions.
Backend Development
Flask is a lightweight framework with incomplex features and can help developers to
add functions to applications flexibly. Because flask supports the development of sub-modules,
team members can use flask to complete their own function development, the overall
development efficiency will be high. In addition, it has many extensions and libraries.
Therefore, Python Flask is our main framework for development.
Database
The database will use Amazon Relational Database Service (Amazon RDS) and
MySQL. We can set up, make operations, and scale a database easily in the cloud using
Amazon RDS. It provides resizable and cost-efficient capacity. In addition, it can implement
administration tasks that are time-consuming automatically such as database setup, hardware
provisioning, backups and patching. It provides us with several database engines and we
choose MySQL.
Frontend Development
The Front-end framework language will mainly use HTML, CSS and JavaScript, also
we will use React as the front-end framework. There are many advantages in using React. It
has all kinds of flexible tools, ecosystems, and libraries. In addition, it can develop an
application that is high-scalable with simple debugging and testing. And it can develop a
complex application quickly. Overall, it can help us to create a high-performance site.
Project Management Method
The project runs in an agile manner, includes a good understanding of functional
modules, and is built by multiple sprints.
14
COMP9900 Project Proposal Group Pikachu
Jira is used to manage the workflow. We can upload project epics to adjust task status,
supervise team members and complete corresponding tasks. The reason for using Jira is to
automatically organize our project, effectively solve to-do tasks, and better manage project
progress.
Github is used to collect and organize the codes of all members and their daily notes.
The reason for choosing GitHub is to build a remote warehouse, share the code of team
members, update the code in the library in real-time, and improve production efficiency. At the
same time, GitHub can also help us view our history, which can effectively prevent progress
from crashing and losing progress. This is useful for debugging.
15
COMP9900 Project Proposal Group Pikachu
Group Management
Daily Catch Up: WeChat group and Jira
We will communicate about each other’s progress in the Wechat group every day to ensure we
are on the same page.
Weekly Video Meeting: BB Colab(During lab), Wechat group meeting or Zoom meeting
(Time flexible, once per week at least)
We will discuss our project at the weekly meeting. It will ensure we meet our goal and we are
on the right way as planned.
Weekly Report: Github Project
We will maintain a weekly updated work diary individually on GitHub to record our
contribution to this project.
16
COMP9900 Project Proposal Group Pikachu
Interface and Flow Diagram
First of all, all visitors are able to view the main page without logging in.
In the upper right corner of the main page is the login button, visitors will navigate to the login
page. If this visitor is new to our website, then he can jump to the register page.
After signing in, users will be navigated to their profile page. For the new user, he will be
navigated to the favourite note page to choose perfume notes after registration and then
navigated to his profile page. Therefore, some recommended perfumes will be shown on the
profile page based on his choice notes.
Following that, all users can browse all the perfumes on the platform, and also choose
to search for interesting perfumes by name or scent notes. The result will display on the result
page. Clicking the result perfume will jump to the perfume detail page. On the perfume detail
page, users can view other’s reviews and they are able to navigate to the review author’s profile
page.
On the other hand, there is a bookmark area in every scent searcher’s profile. Users can
view their entire set of bookmarked perfumes at any time, and also go to the perfume detail
page directly.
For a site maintainer, there is a different profile page for him which contains his
published perfumes. And he can jump to the publish page to publish a new perfume via a
button on his profile.
17
COMP9900 Project Proposal Group Pikachu
Flow Diagram
18
COMP9900 Project Proposal Group
Pikachu
Reference
Blog | Imaginary Cloud. 2021. Flask vs Django: Pirates use Flask, The Navy uses Django.
[online] Available at: [Accessed 17
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!