For this Part, you will need to build a fully working web application prototype. This prototype will

include all the features listed in the instructions section of this document but based on your own
design and user interface layout. Make use of your lecturer’s feedback on Part 1 to improve on
your planned web application.
1. Create a database using PHPMyAdmin and name the database ClothingStore. The database
may consist of the following tables:
 tblUser
 tblAdmin
 tblAorder
 tblClothes
or use the ERD tables you created in Part 1. Simplify the design by analysing the
relationships among the tables. Ensure that you create the necessary primary keys and
foreign keys coding the constraints as dictated by the ERD design.
2. Create a connection to the clothesStore database:
 Create a text file userData.txt and populate the text file with at least five fictitious
entries, e.g., John Doe j.doe 29ef52e7563626a96cea7f4b4085c124. C.
 Use the console or phpMyAdmin and load the text file manually into the table.
 The code that creates the connection must be saved in a file called DBConn.php.
 Create a script called createTable.php that will check if the tblUser exists and if it
does, delete the table and (re)create the table and load the data into the table using
userData.txt file as a source file.
 Embed the DBConn.php as an include file within the createTable.php script.
 Each time the script is executed the table will be deleted if it exists and reloaded with
the data stored in the textfile.
3. Create a login page for your web application. The login page must:
 Accept a username and email address.
 The password must be compared to a hash (e.g.,
29ef52e7563626a96cea7f4b4085c124) in the tblUser table.
22; 23; 24 2024
© The Independent Institute of Education (Pty) Ltd 2024
Page 15 of 31
 When clicking the submit button, use HTML5 for validation. Textboxes and the
password from the login details must be compared to the stored hashed password
value in the MySQL database.
 If the validation confirms that the password is valid, then display the user’s data using
an associative read approach regarding the column names in a table. However, if the
password is incorrect, then use a sticky form and redisplay the details entered
allowing the user to edit the fields instead of re-typing all the fields. Display a string at
the top of the page that identifies the user and reads: “User John Doe is logged in”.
 If the user does not exist, they can register themselves and create the hash and login.
Once a user is registered Administrators need to verify if the user is a customer. A
user won’t be able to login instantly, unless verified. A new user registration would be
pending until verified.
4. Create a login page for the admin:
 When the user clicks the “Admin” button, the user must be prompted to login with
administrator rights, unless the user with those rights is already logged in.
 Verify new customer registrations.
 The admin user should be able to add, update and delete customers.
5. Export your structure of each table to a Word file as part of your POE documentation.
6. Create a text file for data on each base table and populate the text file with at least five
fictitious entries for each base table.
7. Use the console or phpMyAdmin and load the text file (data) manually into each base table.
8. Export the database structure to a text file called myClothingStore.sql with the DDL
statements so the lecturer can use the sql-text file to create your database with 30 entries
for each base table.
9. Create a script loadClothingStore.php that will create the tables within the ClothingStore
database. Ensure that all tables are dropped before creating them and that a table is created
only if it does not exist. Use mysqli or improved mysql to create your connection in an include
file. Hint: Export your database to an SQL file and use the exported code in association with
PHP code.

22; 23; 24 2024
© The Independent Institute of Education (Pty) Ltd 2024
Page 16 of 31
NB: You must create a demonstration video showing the web application on a browser. For the
video, make sure that you show the app performing the following functions:
 The user must be able to register using the application. This registration information must be
stored in a MySQL database.
 The user must be able to login to the application using their username and password.
 All registration fields must be required fields, cannot be left be a blank field when the user
registers on the application.
 Display the Administrator verifying the user as a customer and finally allowing them to login.
 Also show the code associated with the above functionalities

To accomplish all the tasks mentioned in the instructions, you will need to have a good understanding of PHP, MySQL, HTML, CSS, and possibly JavaScript. Below is a general outline of the steps you can take to complete this project:

1. **Database Creation**:
- Create the ClothingStore database in PHPMyAdmin.
- Design the necessary tables based on the given requirements or your ERD from Part 1.
- Establish relationships among the tables using primary keys and foreign keys.

2. **Connection to Database**:
- Create a text file with sample data.
- Write a PHP script (DBConn.php) to establish a connection to the database.
- Write another script (createTable.php) to check for the existence of tables, recreate them if necessary, and load data from the text file.

3. **Login Page**:
- Design a login page that accepts username, password, and email.
- Use HTML5 for form validation.
- Compare the hashed password with the one stored in the database.
- Display user data if login is successful, otherwise show an error message.

4. **Admin Login Page**:
- Create a separate login page for administrators.
- Allow administrators to verify new customer registrations and perform CRUD operations on customer data.

5. **Export Database Structure**:
- Export the structure of each table to a Word file for documentation purposes.

6. **Populate Tables**:
- Create text files with sample data for each base table.
- Load the data manually into the tables using PHPMyAdmin or console.

7. **Export Database Structure SQL**:
- Export the database structure to a SQL file containing DDL statements for database creation.

8. **Create Script to Load Data**:
- Write a PHP script (loadClothingStore.php) to create tables within the ClothingStore database, drop existing tables if necessary, and populate them with data.

9. **Demonstration Video**:
- Record a demonstration video showing the functionalities of the web application including user registration, login, admin verification, and database operations.

Remember to test your application thoroughly and make sure it meets all the requirements specified in the instructions. Good luck with your project!