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.
- 🎯 Project Description
- 🚀 Features
- 🛠️ Technologies Used
- 📸 Demo
- 📦 Usage
- 👥 Roles and Permissions
- 📝 Changelog
- 👏 Credits
- 📬 Contact
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.
- Sign up and log in as User, Artist, or Admin
- Role-based navigation and actions
- Login info persisted in files
- View song lyrics
- Search for songs, artists, and albums
- Follow artists
- Comment on songs
- Suggest lyric edits
- View profile (name, followed artists, comments)
- Create new songs and albums
- Add lyrics to songs
- View and approve/reject lyric edit requests
- View their own albums and songs
- Approve or reject pending artist registrations
- Review user-submitted lyric edits for inactive artists
- 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
- 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
- Clone the repository:
git clone https://github.com/your-username/genius-clone-javafx.git cd genius-clone-javafx
- Java JDK 17+
- JavaFX SDK (Download from gluonhq.com)
- IntelliJ IDEA or VS Code
-
Download JavaFX SDK and extract it.
-
Go to
File > Project Structure > Libraries→ Add the/libfolder from the JavaFX SDK. -
Open
Run > Edit Configurationsand in the VM Options field, add:--module-path "PATH_TO_FX_LIB" --add-modules javafx.controls,javafx.fxml

