A music note emoji

Music Review CMS

A simple CRUD app built with PHP and MySQL for posting and reading music reviews.

A mockup of my music review CMS on an iMac

What?

A multi-page CRUD application for viewing and posting short reviews.

Why?

To improve my experience with PHP, MySQL, and relational database design.

How?

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.

The login screen of the CMS

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.

The form to add a new review The comments section under a review

Final Thoughts

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.

I ran into some trouble when first attempting to implement the prepared statements. It wasn’t required for the project, so I could have just stopped there and moved on. But I thought to myself: if this were a real-world application, it would certainly need this feature to be more secure, right? So I tried and tried again until it finally worked, and I’m glad I did.