首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
FIT2104代做、代写SQL语言编程
项目预算:
开发周期:
发布时间:
要求地区:
FIT2104 Web Database Interface
Assignment 5 Specifications
Title: Implementation with Rapid Development Framework
Notes
1. This assignment is worth 20% of the total mark for the unit
2. This is a group assignment and is to be completed by 2 students working together
3. See Moodle for deadline, extension and special consideration policy
4. Please complete the “Plagiarism Coversheet Electronic quiz” on Moodle before
submit, if not yet
Due dates
Preparation practices By completing weekly lectures and labs
Question & answer session(s) - By posting your question on the discussion forum
- By organising consultation with your tutor
- Ask for help during weekly labs
Application Implementation: Exam Week 2 Wednesday 8
th November @ 11:55pm AEDT
Contribution Peer Evaluation: Due date same as above
Scenario
Project descriptions
Nathan was satisfied with your presentation and report, and decided to hire you to complete the
proposed web system for his business. However, due to the limited budget, only a selection of
features, a mix of what you may have proposed and some newly identified needs, are to be
implemented. He also wants you to develop the project with modularisation and maintainability in
mind for easy future expansions when needed.
The expectation of this assignment is to develop a CakePHP application for Nathan that enables
him and his staff to interactively manage data for his recruiting business.
FIT2104 Semester 2, 2023 | 1
General requirements
The web application must use CakePHP as the development framework and the database must
be a MySQL database using a schema that is compliant with CakePHP’s database conventions.
Your code must follow the best practice and conventions of CakePHP. Implementations such as
(but not limited to):
● use of languages other than PHP or development frameworks other than CakePHP
● not using the latest version/release of CakePHP or related plugins
● schema that is non-compliance with CakePHP conventions
● directly executing queries with PDO, mysqli, etc. or using ConnectionManager or
getTableLocator() in non-expected locations, such as inside of a view template
● hard-code links or HTML forms without using CakePHP view helpers
will result in deductions of marks or your assignment not being marked at all.
If you have any questions regarding the requirements of this assignment, you MUST discuss it
with your tutor or lecturer via discussion forum (preferred, so others can see the answer) and/or
during the consultations. If not sure, just ask 😀
Requirements
Database schema: Nathan has already prepared a conceptual ERD provided to you:
FIT2104 Semester 2, 2023 | 2
Alongside the conceptual ERD, some test datasets are also provided to you in lieu of Nathan’s
real client data due to privacy concerns. You’ll need to convert this ERD into a schema that is fully
compliant with CakePHP database conventions to ensure the system is functional as expected.
Once your database schema is created, inspect and modify the provided test data so they can be
imported into the newly created database.
Hint: phpMyAdmin allows you to import CSV files directly. You should modify the CSV datasets to
fit your final database schema on both the column name and data types before importing.
Remember this is a huge dataset so don’t try to manually import records one at a time, as it will
take forever to complete!
Code generation with Bake: In the case that you’re using Bake to generate skeleton/scaffold
codes based on your database schema, you’ll need to ensure the generated codes fits your use
case, meaning that you’ll need to make changes accordingly to ensure:
● Model entity should contain a sensible include/exclude list for form data mass assignment
● Model table should be configured properly, including display fields, validators and ensure
generated relationships between tables fits the intention of the schema
● Controller should contain functions that are actually being used
● View templates should render a user-friendly collection of data, and hide unnecessary
data from the user to avoid confusion
● Unused and unnecessary files should not be a part of the project folder
Search for various data: You’ll need to develop a feature that enables Nathan and his colleagues
to filter the list of records that meet their entered search criteria.
On the listing pages of Clients, Projects, Questionnaire modules, add appropriate search fields for
each of the following search criteria:
● Clients:
○ Search for a client by their first name or surname with a given keyword
○ Search for a client by their address with a given keyword
● Projects:
○ Search for the semester a project belongs to with a given keyword
○ Filter projects from a dropdown list of all possible status keywords
○ Filter projects from a dropdown list of all possible level of necessity keywords
○ FIlter projects on whether the owner of the project would attend “Meet & Greet”
FIT2104 Semester 2, 2023 | 3
● Questionnaires:
○ Search for a questionnaire by the business name with a given keyword
○ Search for all questionnaires completed after a certain date and time
The results should fulfil all available search criteria - for example, when “fitness” as “business
name” and “10 October 2022 at 23:59:59” as “completion time” are submitted as search criteria
for questionnaires, records that fit both criteria will be listed. If the user chooses to search by one
or two criteria only, the search function shall still work as expected and ignore the unused criteria.
The search must be implemented using CakePHP on the server-side with proper use of
QueryBuilder. Client-side techniques such as Datatables are not allowed.
Configuration and Customisation of CakePHP: Customise the user experience of your web
application so that it doesn’t look like a “freshly baked out of oven” CakePHP application, which
includes the following tasks:
● Remove CakePHP’s welcome page and make the projects list page as homepage
● Properly configure app.php and app_local.php files so the project uses correct Australian
formats, time zones and settings
● Disable the debug mode of CakePHP in app_local.php template
● Remove the presence of CakePHP from user interfaces and replace with appropriate
business branding for Nathan, such as:
○ CakePHP catchphrase in page titles
○ CakePHP brandings and navigation items in page headers
○ General colour tone of the website (remember the design and usability lectures?)
○ and more that you can think of
○ and make sure these changes are applied to the entire website instead of
individual pages/modules
You must implement the changes correctly in the way CakePHP is intended - that includes, but
not limited to, updates to static files (images, CSS scripts, etc.) in webroot, individual templates
that need to be themed, and overall layout of the web application.
Further increase the usability of relationship dropdowns: By default CakePHP uses very simple
display fields which do not fully represent related entities in key-value results, which are usually
used in dropdown lists. Ensure you’re modifying the display fields of Projects and Clients table,
FIT2104 Semester 2, 2023 | 4
and take advantage of virtual fields, so that there’s no ambiguities when the user chooses a client
when creating a project, or chooses a project when creating a questionnaire, etc.
Authentication to protect the data: Implement the CakePHP Authentication plugin properly so
that Nathan and his colleagues can log into the system with their designated username and
password. Ensure:
● The plugin is properly configured
● Required database table schema is implemented, and related codes are “Baked”
● Passwords stored in the database table are properly hashed by CakePHP
● Additional functions and view templates for logging in and logging out are added
Publicly available questionnaire: Normally all parts of the website are limited to staff access only.
However, to allow external clients to complete a questionnaire for a certain project, you’ll need to
some extra work as follow:
● Modify the add action, along with its view template in QuestionnairesController so that
instead of letting the user choose which project the questionnaire belongs to, the primary
key of the project is instead taken as an argument of the action function
● Make the add action (which allows a user to fill in a questionnaire) publicly available,
instead of requiring a user to login
● Add a link or field in either projects listing or view page, which enables Nathan to copy
the invitation link to complete a questionnaire on a certain project. You may also need to
consider disable such feature when a questionnaire is already completed for a project
Overall aesthetics: Improve user-friendliness of the website by inspecting and updating all
existing codes generated, and implementing new layouts and/or including useful JavaScript
libraries/plugins. This includes but not limited to:
● Review all parts of the website and ensure users are not confused, such as notification
(flash) messages generated in Controllers, HTML form and view page field labels
● Implementing new layouts using designer templates (with Bootstrap or similar CSS
frameworks) that replaces either the staff side of the website, public user side of the
website, or both, for a better visual experience - the implementation must be fully
compliant with CakePHP’s layouting system (view templates, layouts, etc.)
FIT2104 Semester 2, 2023 | 5
● Implementing JavaScript libraries and/or plugins that improves usability - your codes must
be fully compliant with CakePHP’s layouting system (take advantage of View Helpers)
Submission of the assignment
A repository for assignment submission has been created for you within the team FIT GitLab
group with the name "fit2104_assignment_5". The repository contains an empty CakePHP 5.x
app skeleton which allows you to start your work straightaway. The link to this repository will
need to be submitted to Moodle’s assignment 5 portal (see the portal for details). All files that
make up the system should be in the repository’s default (main) branch. The repository should
not contain files that are not related to the assignment.
At the root of your repository, you should modify the default README.md file to contain:
● Details of the author, with name, student ID#, and date of submission
● A link to the FIT GitLab repository page of this assignment
● The filename of your database dump file (see below for details)
Also, provide a dump/export of your database schema and imported data. This file should
include table creation statements with definition of primary and foreign keys and column
constraints, as well as insert statements of all imported data. Which means the assignment
marker should be able to use this file to create or restore the state of the database back to how it
was at the time of submission. You can put the dumped SQL file somewhere logical in the
repository and the README.md file should contain the location of the SQL file.
A snapshot of your personal FIT GitLab group will be taken at the deadline of submission. By that
time all files required for your system must have been committed and pushed to your
repository’s default branch along with the database files. You will be able to make changes to
your repository after the deadline, but those changes will not be considered for marking.
Consequently, please do not leave it to the last day or last minute to commit and push changes,
as you’ll need time to check if everything is properly submitted, and the server could crash
because of the large amount of traffic. No consideration will be given for failing to push changes
before the deadline, and late submissions are not accepted according to the unit assignment
policy, unless exceptions or extensions are approved by the university.
A peer evaluation survey is also available on Moodle to allow peers to review their performance
during the collaboration process of the assignment. This survey is due the same time as your
original or extended due date of the code. No rainchecks.
FIT2104 Semester 2, 2023 | 6
Although you may not be assessed by this, it’s recommended that your repository contains
healthy commit histories. This could help you to build a positive attitude in coding habits, project
and bug management, streamline the deployment process, and make sure the history is properly
tracked for future references. Please notice that the scaffold of CakePHP uses the .gitignore
file to exclude the bulky vendor folder and some local configuration files. You can take advantage
of this to greatly reduce the size of your repository. Since this file is considered as hidden file in
*nix OSes (like Linux and macOS), make sure hidden files are properly included in your repository.
The authors must write all codes changed and submitted. Students may be interviewed as part of
the assessment. Where there is evidence of plagiarism or collusion with those submissions,
students involved will be subjected to academic integrity investigation.
Finally (something kind of out of the place but very important), any potentially dangerous act,
such as attacking information systems, including maliciously crafted codes, or sabotage other
students’ assessments somehow, are considered as offences. Trust me, this happened before in
the academic settings, and you don’t want to go that far 🤷 I put it here just to cover all basis.
Further Information
You are encouraged to use the Ed discussion forum on Moodle to post and answer questions
regarding the assignment. Please make sure you have attached the correct tag for your
post/question. It is important to remember that staff may not be available to answer questions at
the last minute, so it is important that you do not leave it to the last minute to attempt the
assignment. Use the labs and consultations well to get help from staff members when needed.
Friendly reminder: this is supposed to be a straightforward assignment to test your
understanding of basic CakePHP skills - please do not overcomplicate the implementations.
FIT2104 Semester 2, 2023 | 7
软件开发、广告设计客服
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
软件定制开发网!