Skip to content

Latest commit

Β 

History

History
107 lines (78 loc) Β· 3.15 KB

File metadata and controls

107 lines (78 loc) Β· 3.15 KB

🎢 Genius Clone - JavaFX Music App

A desktop application inspired by Genius.com, built in Java using JavaFX. Users can explore songs and lyrics, follow artists, post comments, and suggest lyric edits. Artists can upload songs and albums, and admins manage approvals β€” all through a visually modern GUI.


πŸ“š Table of Contents


🎯 Project Description

This is a desktop application inspired by Genius.com, where users can view and comment on song lyrics, follow their favorite artists, and contribute to improving lyrics. Artists can publish songs and albums, and admins oversee approvals. The app was built using object-oriented design and features a clean JavaFX-based GUI.


πŸš€ Features

βœ… User Authentication

  • Sign up and log in as User, Artist, or Admin
  • Role-based navigation and actions
  • Login info persisted in files

πŸ‘€ User Role

  • View song lyrics
  • Search for songs, artists, and albums
  • Follow artists
  • Comment on songs
  • Suggest lyric edits
  • View profile (name, followed artists, comments)

🎀 Artist Role

  • Create new songs and albums
  • Add lyrics to songs
  • View and approve/reject lyric edit requests
  • View their own albums and songs

πŸ›‘οΈ Admin Role

  • Approve or reject pending artist registrations
  • Review user-submitted lyric edits for inactive artists

πŸ“š Albums & Songs

  • Artists can:
    • Create albums (with title, release date)
    • Add songs to albums (with tracklist order)
  • View album pages with:
    • Title, artist, release date, full tracklist
    • Clickable songs that open a Song Page to view lyrics
  • Each song has:
    • Lyrics display
    • Comment section

πŸ› οΈ Technologies Used

  • Java 17+
  • JavaFX 17+ – GUI framework
  • SHA-256 Hashing – for secure password storage
  • File I/O (TXT & JSON) – to save user data, songs, and edits
  • Object-Oriented Design – inheritance, interfaces, encapsulation

πŸ“Έ Demo

image

USER PAGE image

πŸ“¦ Usage

  1. Clone the repository:
    git clone https://github.com/your-username/genius-clone-javafx.git
    cd genius-clone-javafx

πŸš€ How to Run (JavaFX)

πŸ“‹ Prerequisites

  • Java JDK 17+
  • JavaFX SDK (Download from gluonhq.com)
  • IntelliJ IDEA or VS Code

πŸ› οΈ JavaFX Setup in IntelliJ

  1. Download JavaFX SDK and extract it.

  2. Go to File > Project Structure > Libraries β†’ Add the /lib folder from the JavaFX SDK.

  3. Open Run > Edit Configurations and in the VM Options field, add:

    --module-path "PATH_TO_FX_LIB" --add-modules javafx.controls,javafx.fxml