1. Homepage
  2. Programming
  3. FIT2104 Web Database Interface - Assignment 5 Specifications - Implementation with Rapid Development Framework

FIT2104 Web Database Interface - Assignment 5 Specifications - Implementation with Rapid Development Framework

Engage in a Conversation
MonashFIT2104Web Database InterfaceImplementation with Rapid DevelopmentCakePHPMySQL

FIT2104 Web Database Interface CourseNana.COM

Assignment 5 Specifications CourseNana.COM

Title: Implementation with Rapid Development Framework CourseNana.COM

Notes CourseNana.COM

  1. This assignment is worth 20% of the total mark for the unit CourseNana.COM

  2. This is a group assignment and is to be completed by 2 students working together CourseNana.COM

  3. See Moodle for deadline, extension and special consideration policy CourseNana.COM

  4. Please complete the “Plagiarism Coversheet Electronic quiz” on Moodle before CourseNana.COM

submit, if not yet CourseNana.COM

Due dates CourseNana.COM

Preparation practices Question & answer session(s) CourseNana.COM

Application Implementation: Contribution Peer Evaluation: CourseNana.COM

Scenario CourseNana.COM

Project descriptions CourseNana.COM

By completing weekly lectures and labs
- By posting your question on the discussion forum
- By organising consultation with your tutor
- Ask for help during weekly labs
Exam Week 2 Wednesday 8
th November @ 11:55pm AEDT Due date same as above CourseNana.COM

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. CourseNana.COM

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. CourseNana.COM

FIT2104 Semester 2, 2023 | 1 CourseNana.COM

General requirements CourseNana.COM

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. CourseNana.COM

Your code must follow the best practice and conventions of CakePHP. Implementations such as (but not limited to): CourseNana.COM

  • ●  use of languages other than PHP or development frameworks other than CakePHP CourseNana.COM

  • ●  not using the latest version/release of CakePHP or related plugins CourseNana.COM

  • ●  schema that is non-compliance with CakePHP conventions CourseNana.COM

  • ●  directly executing queries with PDO, mysqli, etc. or using ConnectionManager or CourseNana.COM

    getTableLocator() in non-expected locations, such as inside of a view template CourseNana.COM

  • ●  hard-code links or HTML forms without using CakePHP view helpers CourseNana.COM

    will result in deductions of marks or your assignment not being marked at all. CourseNana.COM

    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 CourseNana.COM

    Requirements CourseNana.COM

    Database schema: Nathan has already prepared a conceptual ERD provided to you: CourseNana.COM

FIT2104 Semester 2, 2023 | 2 CourseNana.COM

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. CourseNana.COM

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! CourseNana.COM

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: CourseNana.COM

  • ●  Model entity should contain a sensible include/exclude list for form data mass assignment CourseNana.COM

  • ●  Model table should be configured properly, including display fields, validators and ensure CourseNana.COM

    generated relationships between tables fits the intention of the schema CourseNana.COM

  • ●  Controller should contain functions that are actually being used CourseNana.COM

  • ●  View templates should render a user-friendly collection of data, and hide unnecessary CourseNana.COM

    data from the user to avoid confusion CourseNana.COM

  • ●  Unused and unnecessary files should not be a part of the project folder CourseNana.COM

    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. CourseNana.COM

    On the listing pages of Clients, Projects, Questionnaire modules, add appropriate search fields for each of the following search criteria: CourseNana.COM

    Clients: CourseNana.COM

    • ○  Search for the semester a project belongs to with a given keyword CourseNana.COM

    • ○  Filter projects from a dropdown list of all possible status keywords CourseNana.COM

    • ○  Filter projects from a dropdown list of all possible level of necessity keywords CourseNana.COM

    • ○  FIlter projects on whether the owner of the project would attend “Meet & Greet” CourseNana.COM

FIT2104 Semester 2, 2023 | 3 CourseNana.COM

Questionnaires: CourseNana.COM

  • ○  Search for a questionnaire by the business name with a given keyword CourseNana.COM

  • ○  Search for all questionnaires completed after a certain date and time CourseNana.COM

    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. CourseNana.COM

    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. CourseNana.COM

    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: CourseNana.COM

  • ●  Remove CakePHP’s welcome page and make the projects list page as homepage CourseNana.COM

  • ●  Properly configure app.php and app_local.php files so the project uses correct Australian CourseNana.COM

    formats, time zones and settings CourseNana.COM

  • ●  Disable the debug mode of CakePHP in app_local.php template CourseNana.COM

  • ●  Remove the presence of CakePHP from user interfaces and replace with appropriate CourseNana.COM

    business branding for Nathan, such as: CourseNana.COM

    • ○  CakePHP catchphrase in page titles CourseNana.COM

    • ○  CakePHP brandings and navigation items in page headers CourseNana.COM

    • ○  General colour tone of the website (remember the design and usability lectures?) CourseNana.COM

    • ○  and more that you can think of CourseNana.COM

    • ○  and make sure these changes are applied to the entire website instead of CourseNana.COM

      individual pages/modules CourseNana.COM

      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. CourseNana.COM

      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, CourseNana.COM

FIT2104 Semester 2, 2023 | 4 CourseNana.COM

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. CourseNana.COM

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: CourseNana.COM

  • ●  The plugin is properly configured CourseNana.COM

  • ●  Required database table schema is implemented, and related codes are “Baked” CourseNana.COM

  • ●  Passwords stored in the database table are properly hashed by CakePHP CourseNana.COM

  • ●  Additional functions and view templates for logging in and logging out are added CourseNana.COM

    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: CourseNana.COM

  • ●  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 CourseNana.COM

  • ●  Make the add action (which allows a user to fill in a questionnaire) publicly available, instead of requiring a user to login CourseNana.COM

  • ●  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 CourseNana.COM

    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: CourseNana.COM

  • ●  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 CourseNana.COM

  • ●  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.) CourseNana.COM

FIT2104 Semester 2, 2023 | 5 CourseNana.COM

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) CourseNana.COM

Submission of the assignment CourseNana.COM

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. CourseNana.COM

At the root of your repository, you should modify the default README.md file to contain: CourseNana.COM

  • ●  Details of the author, with name, student ID#, and date of submission CourseNana.COM

  • ●  A link to the FIT GitLab repository page of this assignment CourseNana.COM

  • ●  The filename of your database dump file (see below for details) CourseNana.COM

    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. CourseNana.COM

    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. CourseNana.COM

    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. CourseNana.COM

    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. CourseNana.COM

FIT2104 Semester 2, 2023 | 6 CourseNana.COM

CourseNana.COM

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. CourseNana.COM

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. CourseNana.COM

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. CourseNana.COM

Further Information CourseNana.COM

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. CourseNana.COM

Friendly reminder: this is supposed to be a straightforward assignment to test your understanding of basic CakePHP skills - please do not overcomplicate the implementations. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Monash代写,FIT2104代写,Web Database Interface代写,Implementation with Rapid Development代写,CakePHP代写,MySQL代写,Monash代编,FIT2104代编,Web Database Interface代编,Implementation with Rapid Development代编,CakePHP代编,MySQL代编,Monash代考,FIT2104代考,Web Database Interface代考,Implementation with Rapid Development代考,CakePHP代考,MySQL代考,Monashhelp,FIT2104help,Web Database Interfacehelp,Implementation with Rapid Developmenthelp,CakePHPhelp,MySQLhelp,Monash作业代写,FIT2104作业代写,Web Database Interface作业代写,Implementation with Rapid Development作业代写,CakePHP作业代写,MySQL作业代写,Monash编程代写,FIT2104编程代写,Web Database Interface编程代写,Implementation with Rapid Development编程代写,CakePHP编程代写,MySQL编程代写,Monashprogramming help,FIT2104programming help,Web Database Interfaceprogramming help,Implementation with Rapid Developmentprogramming help,CakePHPprogramming help,MySQLprogramming help,Monashassignment help,FIT2104assignment help,Web Database Interfaceassignment help,Implementation with Rapid Developmentassignment help,CakePHPassignment help,MySQLassignment help,Monashsolution,FIT2104solution,Web Database Interfacesolution,Implementation with Rapid Developmentsolution,CakePHPsolution,MySQLsolution,