Highlights
An Overview:
Objectives and learning outcomes:
My Movie Memoir (M3)
The practical assignments Phase 1 and Phase 2 (server-side and client-side) aim towards building a mobile and distributed, personalised diary application for keeping track of movies (and TV series) that the user watched or wants to watch in future. The application will provide a movie memoir that allows the user to create a collection of memories that they had about the movies.

Task 1 – Database :
Based on the requirements below, you will create the backend database and its tables with the specified attributes and populate them with data as described in part (b). You need to add all the required constraints and create the relationships. a) You need to create the following tables (you should not add any additional table): User Person Table (3 marks) The user Person table will store data about the user that include: first name, surname, gender, DoB, address (street number and street name), state, and postcode (only consider for Australia).
Credentials Table
The Credentials table will store information about a user’s credentials including: username (we suggest to use the email for the username), password hash, and sign-up date. There is no need for extra security measurements in this application such as adding salt to hashing. Also, there is no need for considering password expiration.
Memoir Table
This table will store a collection of memories about movies that the user have watched. These memories include the following information: movie name, movie release date, the date and time that the user watched the movie, a comment about user memory or opinion, a rating score given by the user (not by the public) based on stars. The table below shows the star ratings compared to a 1 – 99 scale. In the Assignment 3 (the phase 2 of this assignment) you must show all the rating scores as stars (half and full).

Cinema Table (2 marks) The Cinema table will store data about the cinema that include: cinema name, and its location as suburb or postcode (you can decide on this based on the APIs you will use in Assignment 3). - One person/user can have multiple movie memories in the Memoir table. -One movie memory can be associated with only one cinema. One cinema can repeated in different memories. -The person/user will have only one memory for a movie experience. It means if the user watches the same movie and in the same cinema, it will create a different experience and memory (the date and time will also be different).
b) You will use an appropriate and correct schema based on the above-mentioned requirements and implement the right relationships and choose the right FKs. Provide a simple ER diagram. (2 marks) We strongly recommend using a unique ID for each table as the PK because it makes it easy when working with NetBeans RESTful web services.
c) All the tables need to be populated with meaningful data and appropriate data types. (2 marks) You need to have at least 3 records in the user person and credentials tables. In Assignment 3 (practical assignment Phase 2), you will automatically generate the latitude and longitude values from the user person’s full address data so make sure you enter correct and real world values. To populate the credential table, you can use an online hash converter to convert a password to hash values but in Practical Assignment (client-side), you will hash the password using Java code and libraries. In the memoir table, you need to include at least 10 records/memories for one of the users. In the cinema table, you will enter at least 5 cinemas. You need to make sure you enter such data that all the queries in Task 4 will return data (not an empty response.
Task 2 - RESTful Web Service
A RESTful web service should be created based on the above-mentioned database and tested on the browser without any error.

Task 3 – Dynamic and Static Queries
In this part, the web service will be extended by adding extra methods and queries using the Java Persistence Query Language (JPQL). The queries that you write will apply two different approaches as discussed in the lectures and tutorials: one approach where you define a static query (NamedQuery) in Entity class and then you call it from a RESTFacade’s method, and the other approach where you create a dynamic query directly in a RESTFacade’s method.
a) You will write additional REST methods to query all the tables based on each attribute that the table has. E.g. if the user Person table has 6 attributes, you write 6 REST methods to query each attribute separately. This excludes the method to query the primary key (id) because it is automatically generated. For this task, provide all the code BUT only one screenshot for one of the REST methods for each table.
b) You need to create a new REST method that enables querying the user Person table using a combination of three attributes (e.g. address, state and postcode). This should be implemented as a DYNAMIC query. You will decide which attributes to consider based on their usefulness in the query.
c) You will write a new REST method that enables querying the memoir and the cinema tables using a combination of two attributes in the condition where each attribute is from a different table. The query should be a DYNAMIC query using an IMPLICIT join.
d) You will write a new REST method that enables querying the memoir and the cinema tables using a combination of two attributes in the condition where each attribute is from a different table. The query should be a STATIC query using an IMPLICIT JOIN. For this, you also need to show the code for the NamedQuery in the entity class.
Task 4 - Advanced REST methods (60 marks)
a) You will add a REST method that will accept a user person id, a starting date and an ending date and return a list that contains the cinema’s suburbs/postcodes and the total number of movies watched per suburb/postcode during that period.
b) You will add a REST method that will accept a user person id and a year, and return a list that contains the month names and the total number of movies watched per month in that year. (10 marks)
c) You will add a REST method that will accept a user person id and return the name(s), the rating score(s) and release date(s) of the movie(s) with the highest rating score given by that user. Please note that the result can be a list if more than one movie received the same score.
d) You will add a REST method that will accept a user person id and return a list of movie names and their release years for those movies that their release year is the same as the year the user watched them. E.g. if a movie was released in 2020 and the user watched it in 2020. (10 marks)
e) You will add a REST method that will accept a user person id and return a list of movie names and their release years for those movies that the user has watched their remakes as well. E.g. If the user watched The Lion King 2019 and The Lion King 1994.
f) You will add a REST method that will accept a user person id and return a list of the movie names, their release dates and rating scores for FIVE movies that have been released in the recent year and have the highest rating score (five top ones).
Late Submission:
Late Assignments or extensions will not be accepted unless you submit a special consideration form and provide valid documentation such as a medical certificate prior to the submission deadline (NOT after). Otherwise, there will be a 5% penalty per day including weekends. Submission Guideline: A ZIP file will be uploaded to Moodle by the deadline including the following files:
1. The REPORT with all the specified code and screenshots that were mentioned in each task in ONE word/pdf report document, NOT as separate image files.
2. The NetBeans project including all the packages and classes and files.
3. The zip file should have this name: FIT5046Assign1-Sem1-[studentname]-[studentid][tutor name].zip
This FIT5046: IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.