Skip to content

mutecopies/Genius_clone

Repository files navigation

🎶 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published