FIT2104 Assignment 3 Semester 2, 2018
This assignment is worth 10% of the total mark for the unit. This is an individual assignment.
Title: Application Development and Implementation
Due Dates:
Application Implementation Week 12 Friday 25th October @ 11:55 midnight (Australian time)
Scenario
Harry Helper is the CEO of a charity called Famox and hes decided to embrace modern technology and put his charity on the web so that people from all around the world can make donations and purchase the ethical products that the charity sells.
The expectation of this assignment is to develop a CakePHP application for Harry that will enable his clients to retrieve a list of Products that meet their entered search criteria. Clients should be able to search on country of origin (or part thereof) and a maximum Product sale price.
There will be one textbox for each of the search attributes. The search will assume an AND for the search criteria. For example, find all the Products where the COO is Australia is AND have a sale price of less than or equal to $25.00. The user MUST enter a value in at least one of the textboxes, however, it is not required to enter a value in BOTH the textboxes. Additionally, the search function CANNOT be achieved via the use of DataTables.
The database must be a MySQL database located on the Monash University database server and the web page front-end must use CakePHP and be resident on the Triton Student Server.
DO NOT MAKE ASSUMPTIONS THAT MAY COST YOU MARKS.
Optional Requirement Distinction
Completing the requirements stated above may earn you up to a Credit grade for this assignment. In order to earn up to a Distinction grade you must complete the following requirement.
Using a free Template or Theme or your own knowledge of CSS, customise the appearance of your application, so that it does not look like a baked CakePHP application.
Optional Requirement High Distinction
To earn up to a High Distinction you must complete the basic requirements, the optional requirement for a Distinction grade and the following requirement.
Add an extra search textbox, which will allow the user to search on Category (as well as COO and maximum sale price)
There will be one textbox for each of the search attributes. The search will assume an AND for the search criteria. For example, find all the Products which are Toys AND COO is Australia is AND have a sale price of less than or equal to $25.00. The user MUST enter a value in at least one of the textboxes, however, it is not required to enter a value in ALL the textboxes. Additionally, the search function CANNOT be achieved via the use of DataTables.
When the search URL is initially entered, the user will see something like this. Text boxes for the search and a sorted list of all Products
Once the user has entered some search criteria, the Products which match that criteria, will be displayed.
I the example below Products from Australia or Austria, which have a sale price of less than $20 and belong to the Coffee Mug category will be shown.
Submitting Assignment 3
Create a sub-directory in your home directory on the student server. This sub- directory must be called ass3. Store your CakePHP application in this subdirectory.
Failure to follow this directory structure will result in non-assessment of your assignment.
To view your assignment after it has been transferred, point your browser to: http://triton.infotech.monash.edu.au/99999999/ass3/Product/search
This will take the user to the main page, which will contain 1 menu item to enable them to access the search function.
Note: insert your ID number in place of 99999999.
The Triton server will be disabled at 12am Melbourne time, on the date that the assignment is due. By this time the assignment must have been transferred to your directory on the Triton server. At this time, an image is taken of student assignments and this is used for correction purposes. So, although you may be able to transfer files after that time, they will not be considered for correction. Consequently, do not leave it to the last day to transfer files. No consideration will be given for failing to transfer files before the required time.
You must test the transfer procedure well before time to make sure you know how it works. After you have transferred your assignment, test it thoroughly. Do not assume that just because the assignment works properly from your hard disk, that it will also work properly from the student server. For example, if you have spaces in the names of your files, they may not work properly from the Triton server, but may work from your hard drive.
If you fail to transfer your assignment before the closing time you will be given zero marks. The only exceptions will be in cases of sickness or other serious cause, for which documentary evidence (e.g. a doctors certificate) must be produced. Students must request an extension prior to the submission date.
The author must write all submitted web pages. Where there is evidence of similarity with other assignments, students will be heavily penalised. Students may be interviewed as part of the assessment requirements of the assignment. Students will be asked question(s) to explain their submitted assignment. If a question is not answered satisfactorily, up to two marks will be deducted and successive questions asked until satisfactory answers are forthcoming or there are no more marks to deduct.
Students must not transfer any documents containing viruses to the student server. Any such document will be given zero marks and a further 20 marks will be deducted from the assignment total. Additionally, completion of the individual assignment tasks will not automatically earn you full marks for that task. Site design and usability will also be considered.
Further Information
An assignment discussion forum has been created and you are encouraged to use this, posting and answering questions regarding the assignment. 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.
You may find the following information useful when starting your assignment.
1. Install a skeleton CakePHP application using composer
composer create-project create/app ass3
2. You should be able to view this application by entering localhost/CakePHP in a browser. If you dont wish to install a local web server, you can use the CakePHP built-in web server. See https://book.cakephp.org/3.0/en/console-and- shells/server-shell.html for more information on this.
3. Edit the config/app.php to enter your database credentials and check that the application can access the database.
4. Using command/terminal window navigate to your application and bake the Product and Catgeory tables.
5. You should now have a fully working application. If you enter localhost/ass3/product into a browser, you would see something like this.
6. Check out the Models, Views and Controllers that have been created, to start learning about CakePHP. The bake command writes great code for Models and Controllers but doesnt create very good Views.
7. The CakePHP Cookbook is a great resource generally and specifically for information on retrieving data from the database. https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html
8. You will need to create a search.ctp file within the src/Template/Product folder.
9. You will need to create a search method in the src/Controller/ProductController.php file.
10. To make changes to the overall look of a CakePHP application, you should look at src/Template/Layout/default.ctp. This file acts a template for CakePHP and is where you would put things like menus, footers etc, that you wish to appear on each page.
11. A Monash lecturer, Peter Serwylo, did a good video about customising a CakePHP application with a downloaded Bootstrap theme. https://www.youtube.com/watch?v=mO7XqRPj63U
Reviews
There are no reviews yet.