Instructions
- The assessment for the module contributes 70% to your final marks covering both elements of the web and databases.
- The assessment should be done individually.
- The assessment task is to develop web application pages that connect to a database for the business processes defined in the requirements. The web application should be developed using PHP which should be connected to SQLite.
- The deliverable submission should use the following naming convention:
DBWCoursework_StudentID.zip
example: DBWCoursework_232208.zip
- The submission point is via Blackboard and Github (if applicable).
- Please read the requirements carefully.
Key Dates
Hand-out: 31 Oct 2022, Monday, 3pm.
Hand-in: 5 Jan 2023, Thursday, 3pm.
In-Module Retrieval
See Appendix A
User Stories
A gym centre in Sheffield, namely MiniGym, hires you to develop a vanilla version of a web application for their business needs. The web application should have the following users:
- Customer
- Staff
- Manager
Customer
Public users who can access the web application to:
- Browse the website contents
- Create an account to access their web application system and join as a member.
- Login to the web application using their credentials and manage their profile.
Staff
Staff is the employee of the gym centre. This user can perform the following tasks:
- Browse the website contents
- Login to the web application
- Create customer accounts
- Update customer accounts
- Update customers payment status
- View customers
Manager
Manager is the employee of the gym centre and holds the role as the system administrator. This user should be able to,
- Browse the website contents
- Login to the web application
- Create staff accounts
- Update staff accounts
- View staff
- Enable or disable staff accounts
Use the database file attached in Appendix (also available in Blackboard) to support your work. You may create additional tables or fields to the database or normalise the tables. The deliverable should have ONE database file and MUST use the provided database file.
Requirements
Some requirements are loosely defined. Use your own creativity for additional features to the requirements. Discuss with your lecturers for further clarification if needed.
Requirement 1 : Landing page (10 marks)
All users can access the landing page of MiniGym to browse the contents of the page. The following information should be available,
- Name of the gym centre
- About us
- Membership types o Day passes – £5.50
o Monthly – £13.50
The landing page should be a static page.
Requirement 2 : Customer – Customer Account Creation (10 marks)
Provide a link/menu item for customers to access (from the landing page) for an account creation. The following fields are required for “Customer Account Creation” page,
- First name
- Last name
- Date of birth
- Email address
- Postcode
- Password
- Username (auto-generated)
Upon submission of this page, the user will be prompted with their auto-generated username. The username should follow the format below,
First 3 letters from the first name + last 2 letters from the last name + 2 digits random numbers. Example:
First name : zairul
Last name : mazwan
Random 2 digits : 83
Auto-generated username : zaian83
Requirement 3 : Customer – Forgot Password (5 marks)
Create a link that routes the user to reset their account password. The following fields are required,
- Username
- Postcode
- Email address
- Month of birth
If the values are matched, prompt the user to input a new password. Update the database with the new password.
Requirement 4 : Customer – Login and Manage Account (10 marks)
Customers who have successfully created an account are not members yet. They can login to the system to view and update their profile, and to select a membership type to be a member.
Create a page that enables customers to login using their credentials. After login, allow customers to manage their profile and select a membership type. Upon selection and submission of a membership type, the system should capture the following values to store in the database,
- Date
- Membership types o Day passes – £5.50 o Monthly – £13.50
- Payment status default to pending – autogenerated from the system
(This requirement does not need you to use sessions)
Payment should have the following statuses,
- Pending – every time a customer registers a new membership. Attention is required for payment.
- Active – After a customer has made a payment. Change of this status will be manage by the staff.
- Suspended – After a customer membership has expired. Change of this status will be manage by the staff.
Requirement 5 : Staff – Login and Manage Customers (15 marks)
Create a link/menu item for the staff to login. Using the database file provide, allow the staff to login and route the user to “Manage Customer” page. The staff can perform the CRUD tasks for customer accounts. Create relevant links/menu items for CRUD.
C : Create customers – A staff is allowed to create an account on customer behalf.
R : Review/View customer details
U : Update customer details
D : Delete customer
Use the fields as outlined in requirement 2 for customer accounts.
(This requirement does not need you to use sessions)
Requirement 6 : Staff – Manage Memberships/Payments (5 marks)
Manage memberships page is also managing payment records. Payments are to be made outside the system, staff will be required to update the system once customers have provided the evidence of payments.
Create a page that allows the staff to update the payment status for customers.
Payment should have the following statuses,
- Pending – every time a customer registers a new membership. Attention is required for payment.
- Active – After a customer has made a payment. Change of this status will be manage by the staff.
- Suspended – After a customer membership has expired. Change of this status will be manage by the staff.
Requirement 7 : Manager – Login (5 marks)
A manager is the admin privilege of the system. Using the same login page as staff, allow the manager to login and display the relevant privileges for the manager.
(This requirement does not need you to use sessions)
Requirement 8 : Manager – Manage Users (Staff) (10 marks)
A manager should be able to perform CRUD tasks for staff records. Use the following fields for staff:
- Username/ID – there is no specific requirement for the ID format, suggest yours.
- First name
- Last name
- Email address
- Status
- Role
Requirement 9 : Manager – Manage Users (Staff) (5 marks)
A manager is allowed to enable or disable staff accounts. With your own creativity, use appropriate values for this field. Upon disabling the staff status, the staff is prevented from logging into the system. This requirement will impact requirement 5.
Requirement 10 : Advance and Automation Features (5 marks)
The following features can be considered for excellent marks,
•Automation in membership/payment status
Amend the database that can store number of days of customer membership based on the membership date. To enable this feature, you may need,
o to capture the current system date and customer membership date o create rules that reset the membership day to 0 or any value for
“pending” status.
• Reminder to customer
Create rules that allow the system to display customer membership days to renewal on the customer page.
• Aesthetic web application
Attractive web application with graphics, videos, and colours would allow excellent marks to be awarded.
Requirement 11 : The web quality and implementation (5 marks)
This requirement is a marking criterion that evaluates the entire implementation of the web components in the work as well as the quality of the work. Application of the following components in the work appropriately contribute to excellent marks,
- HTML and CSS
- Exception handling
- Mobile first design
- Use of functions
Requirement 12 : Database quality and implementation (5 marks)
This requirement is a marking criterion that evaluates the entire implementation of the database design in the work as well as the quality of the work. Using proper database language (SQL statement) which includes,
- Data manipulation language (DML) – select, insert, update, delete.
- Data definition language (DDL) – create, alter, drop, truncate (as and when required).
Video Recording (10 marks)
A Panopto video recording should be submitted that showcases the processes as defined in the requirement section. Explain your source code how the system works.
Fail to submit this deliverable will result to an investigation and a VIVA.
Assessment Deliverables
There are three (3) MANDATORY deliverables for the coursework,
- A Panopto video (NOT more than 10 minutes) showcasing the web pages and their source codes.
- The web application source-code. Can be EITHER Github OR upload the source-code (zip file) to blackboard. If the source-code is submitted via Github, make sure the project is public and share the Github link in the word document in deliverable 3 below.
- A word document outlining the tables and their SQL statements used in the program.
Appendix A In-module Retrieval
Following first-sit assessment, In-Module Retrieval (IMR) will be offered to students achieving below 40% for this assessment task.
IMR means that you will have an opportunity to resubmit a reworked version of your original assignment, following feedback, within a short space of time (usually 5-10 working days) in order to achieve a pass grade. The maximum mark available is 40%. You will need to look out for an email from your Module Leader (to your SHU email address) shortly after the marks have been released. This will give you more details and tell you what you need to do next.
If you decide not to participate in the In-Module Retrieval attempt and subsequently do not pass the module, you will be referred which means you will have an opportunity to resubmit an assignment during the reassessment period (usually July for students on standard courses).
The time available to you to submit an IMR attempt will be less for those students who submit after the original submission deadline date (with or without an approved extension).
Further information about IMR is available on Assessment 4 Students on shuspace.
Database File
miniGym.db
Marking Scheme
University Grade
Descriptors – Level 4.p
| Requirement | Fail | Pass | 2-2 | 2-1 | First | Weightage | ||||||||||
| 0 | 28 | 42 | 45 | 48 | 52 | 55 | 58 | 62 | 65 | 68 | 72 | 75 | 78 | 82 | ||
| Requirement 1 | No evidence for the landing page | Attempt to develop the page is shown, however plenty of errors presence | The page is delivered with minor errors | Good landing page for the Gym centre. Some information can be added. | Excellent and attractive landing page with all information. | 10% | ||||||||||
| Requirement 2 | No evidence for the page | Attempt to develop the page, however plenty of errors presence. | Customer account creation page is delivered with minimal requirements/featu res as defined. | Customer account creation page is delivered with tolerable logical errors. | Customer account created can be accessed by all users. Customers can register an account as per the requirements. Username is autogenerated and enables customers to login with the username and password. | 10% | ||||||||||
| Requirement 3 | No evidence for the page | Attempt to develop the reset password page, however plenty of | The page is delivered with minor errors | Reset password
is delivered in the work with |
Customers can
reset their password from this page and |
5% | ||||||||||
| Requirement | Fail | Pass | 2-2 | 2-1 | First | Weightage | ||||||||||
| 0 | 28 | 42 | 45 | 48 | 52 | 55 | 58 | 62 | 65 | 68 | 72 | 75 | 78 | 82 | ||
| errors presence and not working | tolerable logical errors. | work perfectly i.e business logic. | ||||||||||||||
| Requirement 4 | No evidence for the pages | Attempt to develop the requirement, however plenty of errors presence | The page/s are delivered with minor errors | Good work in delivering this requirement as per the business requirement. Some improvements are good to have. | Customer login and manage account are delivered perfectly. Login process is strong validating the user. Customer can perform all the tasks as defined in the requirement. | 10% | ||||||||||
| Requirement 5 | No evidence for this function | Attempt to develop this
feature in the web pages |
These requirements are delivered with errors. | Good delivery of the requirements, however, some improvements needed. | All requirements for login and manage
customers for staff are captured and work perfectly. |
15% | ||||||||||
| Requirement 6 | No evidence for this requirement | Attempt to develop this
feature in the web pages |
These requirements are delivered with errors. | Good delivery of the requirement, however, some improvements needed. | Staff is allowed to manage
Memberships/Pay ments for customers using the statuses defined in the |
5% | ||||||||||
| Requirement | Fail | Pass | 2-2 | 2-1 | First | Weightage | ||||||||||
| 0 | 28 | 42 | 45 | 48 | 52 | 55 | 58 | 62 | 65 | 68 | 72 | 75 | 78 | 82 | ||
| question. This requirement works perfectly
|
||||||||||||||||
| Requirement 7 | No evidence for this requirement | Attempt to develop this feature in the web pages | These requirements are delivered with errors. | Good delivery of the requirement, however, some improvements needed. | Manager is allowed to login using the same login page as staff. Appropriate
privileges are prompted upon login. |
5% | ||||||||||
| Requirement 8 | No evidence for this requirement | Attempt to develop this
feature in the web pages |
These requirements are delivered with errors. | Good delivery of the requirement, however, some improvements needed. | A manager should be able to perform CRUD tasks for staff. This requirement works perfectly | 10% | ||||||||||
| Requirement 9 | No evidence for this requirement | Attempt to develop this
feature in the web pages |
These requirements are delivered with errors. | Good delivery of the requirement, however, some improvements needed. | A manager is able to enable or
disable staff accounts. Good approach is used to implement this requirement. Staff are not allowed to login upon disabling the status. |
5% | ||||||||||
| Requirement | Fail | Pass | 2-2 | 2-1 | First | Weightage | ||||||||||
| 0 | 28 | 42 | 45 | 48 | 52 | 55 | 58 | 62 | 65 | 68 | 72 | 75 | 78 | 82 | ||
| Requirement 10 | No evidence for this requirement | Attempt to develop this feature in the web pages | These requirements are delivered with errors. | At least one advance and automation features are presented in the work. | At least two advance and automation features are presented in the work. | 5% | ||||||||||
| Requirement 11 | No evidence for this requirement | Weak
implementation of the web components in the work. |
Very limited web components used in the work.
However, good understanding of the web. |
Some the web components are used in the work. | The work has evident all the
web components with a standard practice. |
5% | ||||||||||
| Requirement 12 | No evidence for this requirement | Weak
implementation of database in the work. |
Very limited database components used in the work.
However, good understanding of the web. |
Good delivery of database components in the work | Excellent database design and use of DML and DDL in the work. | 5% | ||||||||||
| Video Recording | No evidence for this requirement | Weak delivery of video recording. | Some
requirements are not demonstrated in the video recording. |
Good demonstration using appropriate examples. Source codes explanation can be improved. | Excellent presentation demonstrating the end-to-end processes in the web application. Good examples are used in the demonstration. Some critical | 10% | ||||||||||
| Requirement | Fail | Pass | 2-2 | 2-1 | First | Weightage | ||||||||||
| 0 | 28 | 42 | 45 | 48 | 52 | 55 | 58 | 62 | 65 | 68 | 72 | 75 | 78 | 82 | ||
| source codes are explained. | ||||||||||||||||
| Total | 100% | |||||||||||||||
Need help with your own assignment?
Our expert writers can help you apply everything you've just read — to your actual assignment.
Get Expert Help Now →