Designed and implemented a web-based, database-driven application to manage karaoke events efficiently for venues such as bars or clubs. The system provides a seamless experience for both singers and DJs by handling song selection, queue management, and performance organization.
On the user side, the application allows potential singers to search for songs using multiple criteria — including artist name, song title, or contributor (e.g., writer, guitarist, or vocalist). Each song record stores information about contributors, their roles, and multiple karaoke file versions, allowing users to choose the exact version they want to perform. Once a version is selected, users can sign up for one of two queues:
A free queue, which operates on a first-come, first-served basis.
An accelerated priority queue, where users can pay to have their song performed sooner.
On the DJ side, the system features a dedicated interface that displays both queues side by side, allowing the DJ to view each singer’s information, selected song, band, and karaoke file ID. DJs can use the interface to determine performance order and manage singers throughout the event.
The project emphasized data organization, interface design, and user experience, incorporating dynamic table sorting for search results and flexible queue sorting by time or payment amount. The solution was built using PHP, SQL, HTML, and JavaScript, following best practices in database normalization and web application development.
This project demonstrated strong skills in full-stack development, database design, and collaborative software engineering, as well as the ability to translate detailed requirements into a practical, user-friendly solution.
Check out the project code here: goodm3at/CS466_Karaoke