首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
COMP 2406程序辅导、Database语言程序讲解、辅导Python,Java编程 解析Java程序|讲解数据库SQL
项目预算:
开发周期:
发布时间:
要求地区:
COMP 2406 – Fall 2020 Movie Database Project
Movie Database
Project Background
The goal of this project will be to create a web application similar to the Internet Movie
Database. Your application will maintain a database of movie information, including
things like the movie title, release year, writers, actors, etc. Your site will support regular
users, who will be capable of browsing all of the information on the site and adding
movie reviews. You will also need to support contributing users, who will be able to add
new people/movies. The site will also offer movie recommendations based on a user’s
data. Within this document, the term ‘people’ is used to refer to people that are part of a
movie (actor, writer, director, etc.), while the term ‘user’ refers to a user of your
application. The following sections will outline the minimum requirements of the movie
database project. You are encouraged to ask questions to clarify the requirements and
constraints of the project.
Provided Data and Assumptions
The provided project zip file contains several files with initial movie data retrieved from
The Open Movie Database. Each of these files contain data with the same format,
which you can use to initialize the data for your project. The only difference is the
number of movies contained in the file (10, 100, 1000, 2500). It is advisable to use a
smaller file for your initial development. Your final submission will be required to work
with the 2500 movie dataset. For the purposes of this project, you can assume that
actor/director/writer names are unique. If movie X lists “Norman Cates” as an actor and
movie Y lists “Norman Cates” as a director, you can assume these refer to the same
person.
Technology Constraints
The server code for your project must use Node.js. All client resources required by your
project must be served by your server. Your client must work well within an up-to-date
Chrome browser, which is what will be used to evaluate your project’s frontend. Your
project’s data must be stored using a local MongoDB database (i.e., you cannot use the
Atlas cloud database service). Your final submission must be able to be completely
installed using the command npm install. Only approved modules may be used.
You may assume any modules mentioned in the lectures or notes are allowed. If you
are unsure if something is allowed or would like to see if something could be allowed,
COMP 2406 – Fall 2020 Movie Database Project
2
you should ask for clarification before proceeding. Any additional software, modules,
frameworks, etc. you use must be able to be installed using your NPM install script.
User Accounts
The application must provide a way for users to create new accounts by specifying a
username and password. Your account creation page must only require a username
and password (i.e., no email, confirm password, etc.) and should not have any security
constraints such as requiring passwords to contain special characters (these are good
things to add in a real application but make grading hundreds of projects a hassle).
Within your application, usernames must be unique. A user should be able to log in and
out of the system using their username and password. Within a single browser instance,
only a single user should be able to be logged in at one time (i.e., user A and user B
cannot log in to the system within the same browser window). All newly created
accounts should be considered regular users until the user manually upgrades
themselves to a contributing user.
When a user is logged in, they should be able to view and manage information about
their account. The application must provide a way for the user to:
1. Change between a ‘regular’ user account and a ‘contributing’ user account. If
a user changes account types, it should only affect their ability to carry out an
action in the future. That is, anything created by a user while they have a
contributing user account should remain unaffected if the user switches back
to a regular account.
2. View and manage the people they follow. The user should be able to navigate
to the personal page of any person they have followed. The user should be
able to stop following any person that they have followed.
3. View and manage the other users they follow. The user should be able to
navigate to the user page of any user they have followed. The user should be
able to stop following any user that they have followed.
4. View the list of movies that they have watched (i.e., the user’s ‘watch list’) and
remove any movies from this list. See the Viewing Movies section for
specification of adding movies to the watch list.
5. View recommended movies. These recommendations should be made based
on what information your web application knows about the user, such as what
movies they have reviewed or what people/users they have followed. You do
not need to worry about the overall quality of your recommendation but
should be able to provide justification for the design of your algorithm (e.g.,
similar genres, actors, etc.).
COMP 2406 – Fall 2020 Movie Database Project
3
6. View any notifications that they have received about people or users that they
have followed.
7. Search for movies by title, actor name, and/or genre keyword, at minimum.
Additional types of search can also be included. The user must be able to
navigate to the movie page for any of the movie’s contained in the search
results. By default, the search results should show only 10 movie results and
pagination must be supported (i.e., next/previous buttons to navigate through
remaining search results).
Viewing Movies
When viewing a specific movie, a user must be able to:
1. See the basic movie information, including: the title, release year, average
review rating, runtime, and plot.
2. See each of the genre keywords for the movie and allow the user to navigate
to search results that contain movies with the same genre keyword.
3. See the director, writer, and actors the movie has, and be able to navigate
directly to each person’s page.
8. See a list of similar movies to this one and allow the user to navigate to the
page for any of those movies. You do not need to worry about the overall
quality of your similarity measure but should be able to provide justification for
the design of your algorithm (e.g., similar genres, actors, etc.).
9. Add the movie to their ‘watched list’. This list will be viewable from the user’s
profile. The user’s profile must support allowing the user to remove the movie
from the watched list. You may also allow them to do so from the movie page.
4. See movie reviews that have been added for the movie.
5. Add a basic review by specifying a score out of 10.
6. Add a full review by specifying a score out of 10, a brief summary, and a full
review text.
Viewing People (directors, writers, actors)
When viewing the page for a particular person, the user must be able to:
1. See a history of all of this person’s work. Each movie entry must allow the
user to navigate to that movie’s page.
2. The history of the person’s work should be separated into categories for
directed, written, and acted in. If the user has not directed, wrote, or acted in
a movie (e.g., they have not acted in a movie), then that category should not
be shown on the page.
COMP 2406 – Fall 2020 Movie Database Project
4
3. See a list of frequent collaborators of this person. For the purposes of this
project, the list of frequent collaborators should be the top 5 people the
person has worked with the most according to the data stored within your
application.
4. Choose to follow this person. If a user follows a person, the user should
receive a notification any time a new movie that includes this person is added
to the database.
Viewing Other Users
When viewing the page for another user, the current user must be able to:
1. See a list of all of the reviews this user has made and be able to read each
full review.
2. See a list of all of the people this user has followed and be able to navigate to
each person’s page.
3. See the user’s ‘watch list’ and navigate to any of the movies listed.
4. Choose to follow this user. If a user X follows a user Y, user X should receive
a notification any time user Y creates a new review.
Contributing Users
If a user’s account type is set to be a contributing user, the user should be able to do
everything a regular user can do and also:
1. Navigate to an “Add Person” page and add a new person to the database by
specifying their name. If the name already exists, the user should not be able
to add the new person.
2. Navigate to an “Add Movie” page and add a new movie by specifying the title,
release year, runtime, plot, genre keywords, and at least one writer, director,
and actor. The entire movie creation process must be done on a single page.
The page must give the user a way to dynamically search for people within
the database to add to the movie (e.g., using AJAX). The user should not be
required to type in the full name of the person, but instead should be able to
add the person as a writer, director, or actor directly from the search results.
Project Report
You will also be required to submit a project report with your final submission that must
include:
1. Detailed steps explaining how to install, initialize, and run your database and
server. You must include a database initialization script with your submission that
COMP 2406 – Fall 2020 Movie Database Project
5
will create a new MongoDB database from the provided movie data JSON files.
This will ensure that a database with the data structure required by your project
can be created during the grading process. If you have not used MongoDB, you
should include any file resources your server requires to start and load the
movie/user/etc. data.
2. Discussion and critique of your overall design. See the ‘Overall Design and
Implementation Quality’ section of the marking scheme for ideas on what to
include in your analysis. You should also consider some of the key concerns of
web application development that we have discussed in the class, such as
scalability, latency, etc.
3. Description of your movie recommendation algorithm.
4. Description of your similar movie algorithm.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做ceng0013 design of a pro...
2024-11-13
代做mech4880 refrigeration a...
2024-11-13
代做mcd1350: media studies a...
2024-11-13
代写fint b338f (autumn 2024)...
2024-11-13
代做engd3000 design of tunab...
2024-11-13
代做n1611 financial economet...
2024-11-13
代做econ 2331: economic and ...
2024-11-13
代做cs770/870 assignment 8代...
2024-11-13
代写amath 481/581 autumn qua...
2024-11-13
代做ccc8013 the process of s...
2024-11-13
代写csit040 – modern comput...
2024-11-13
代写econ 2070: introduc2on t...
2024-11-13
代写cct260, project 2 person...
2024-11-13
热点标签
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
软件定制开发网!