首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
Web编程辅导、Java程序辅导
项目预算:
开发周期:
发布时间:
要求地区:
Web Tech Assignment 1
Assignment 1
This assignment explores some of the different methods to incorporating dynamic content into a website. This document is for all students regardless of their study mode and the assignment must be done individually. This document specifies the minimum requirements to get a passing grade – the more effort you put in the better the outcome!
Each person is to complete the Assignment 1 that utilises the existing AmazonOrders test database. There are several tasks to complete as outlined below
1.An item recall page using a ViewModel
2.An item recall detail page using a ViewModel
3.An annual sales graph
1.Download the Assignment Web Application
The web application has been pre-built complete with the AmazonOrders model. You will need to update the connection string in your web application to use your local copy of the AmazonOrders database. This is the same as used in the practicals.
2.Create a new Controller
You will need to create a new controller to use with your pages or update the existing Home controller with new actions – either approach is acceptable. Your new controller will need to support views and/or return JSON formatted data for each of the following tasks.
Tasks
1.Item Recall page [30%]
This page allows the sales team to search for items that may need to be recalled. The page provides an auto-complete search text-box that shows a list of matching item names as the user enters search terms. If a partial match is entered, then all item names containing that partial match are returned in a table (see example below). This page must:
Provide the auto-complete item name search using either @razor or JavaScript fetch request
Provide the ability to limit the results by customer order year
The page must initially load with no data and only show matching records once a search has been performed
The search must include text of at least 2 characters otherwise it should be blocked by model validation.
The page must use model display properties (such as display name) where appropriate
Must only utilise a model/ViewModel for all displayed data and search data. The ViewBag/ViewData object can only be used for setting the page title. This includes the auto-complete list and the year list. These may be generated using tag-helpers, @foreach OR JSON data generated by an action(s) in your controller.
Hovering over a row in the table highlights the row
Clicking on a row opens a Recall Detail page in a new tab with the correct item and year selection (requires JavaScript)
For full marks, your query needs to return the number of items sold (units sold) in addition to the number of effected customers (make sure you account for the fact a customer may purchase several of the recalled item). You may wish to use additional Lambda features such as .ThenInclude() or multiple queries. You may find the following links useful:
Efficient Querying
Complex Query Operators
IQueriable Methods (Average, Sum etc)
Example Recall Search Page
The page initially loads with no data
Example Recall Search Page with auto-complete list
Example Recall Search Page with matching data returned for all years/customer order dates
Example Recall Search Page with matching data returned for 2020 only and a row being selected
2.Item Recall Detail [30%]
This page allows the sales team to view detail of the selected item being recalled as well as a list of all the customers who purchased the item, their address and available contact details (main phone number, secondary phone number and email, where available). This page must:
Show all the necessary details of the product being recalled (title, cost, description, image etc)
List the customer details including the address, suburb, postcode, region etc
Show the number of units of the recalled item the customer purchased for the given year
Show the total cost in currency format of the recalled item to that particular customer
Make use of Model display properties.
Must only utilise a model/ViewModel for all displayed data. The ViewBag/ViewData object can only be used for setting the page title.
3.Item Sales Report [30%]
On a more positive note, it would be good to produce a report for management that shows the popularity of the different items in the Amazon store. You will need to create another View for the Annual Sales Report. This report should be triggered by selecting a given report year based on the available customer order data in the database. The Annual Sales report page must implement the following:
It must not load with a report showing
A Drop Down list containing the available order years (most recent first). This can be generated using @razor a fetch request with JavaScript. You do not need to use a ViewModel for this page :)
When a year is selected, a horizontal bar graph is generated using plain JavaScript and D3 V7 (no other libraries can be used).
Each item needs to be clearly represented on the y-axis in alphabetical order
Each bar needs to reflect the number of units of that items sold for the selected year
Each bar needs to include text showing the number of units sold.
The bars need to be animated so that they grow from left -> right in a reasonable time
The graph needs to look nice and clearly highlight the good (highest) and poor (lowest) performing items. This could include making the item name text a different colour!
When the year is changed, the original graph should retract before the next graph is displayed. You may find examples using the end animation function useful (example1, example2) or search for other ideas.
To help you get started, a ReportController complete with AnnualSalesData Action has been created for you that returns the necessary Graph data in JSON format.
Example Annual Sales report
Note that this report is still missing some important features you need to implement:
It should include a text title stating “Sales for [year selected]” in the SVG graph
The x and y axes need labels like “Item Name” and “units sold”. Make sure you reserve enough space for these elements to be included.
Example Graph gradually building up to correct counts (animation)
Example graph showing shrinkage on year change to 0 ready for new graph
Example graph showing almost complete shrinkage to 0 ready for new graph
4.HTML Validation (10%)
Your pages will need to generate valid HTML. We suggest you use the W3C HTML validator to check this! You need to use appropriate class names, bootstrap classes where possible and avoid using IDs where you can.
Overall Requirements
For server-side queries you must use Entity Framework LINQ or Lambda expressions – no SQL statements are permitted.
For JavaScript you must use either the plain JavaScript language and web browser APIs (DOM, Fetch etc) or D3 only. You are not allowed to use other libraries like jQuery etc. You must use Lambda expressions/arrow functions and JavaScript `${xx}` expressions where appropriate/possible.
Any new Model/ViewModel classes you create need to be placed in the ViewModels folder.
Any CSS you want to include must be done either using the site.css file or using the styles render-section provided.
Once you have completed your assignment, upload the individual files (not zipped) you worked on to the course page (your models/ViewModels, controller classes, view.cshtml files.
Presentation
During your scheduled practical class in Week 10 you will need to present your code in class to the tutor and answer questions on how it functions. You must do this to receive a final grade for this assessment. Everyone must present their work for assessment in this way.
软件开发、广告设计客服
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
软件定制开发网!