Why It Was Built

This project aimed to improve my skills with PHP, MySQL, and relational database design, while also offering practical experience with user authentication and role-based permissions.

How It Was Built

First, I created two user types (user and admin) with different permissions (only admins have the ability to delete reviews). The login page is secured by utilizing prepared statements to retrieve user data from the database. This is to prevent SQL injection attacks.

After logging in users are met with their dashboard, showing only reviews they’ve posted. Admins are able to see all reviews here and can delete them as well. Before deletion there is a confirmation page to prevent accidental removals. Beneath the dashboard table is a form that can be used to post new reviews to the server.

Users can view a list of all reviews on the Reviews page. They can select one, read it, and leave comments that are visible to all users as well.

I enjoyed creating this application a lot. It was one of my first programming projects and a great introduction to CRUD methodologies, relational database design, and user permissions.