Notice: This project was developed for my personal use as a touch display hardware jukebox.
Please note that the code quality is admittedly poor and was written for functionality over best practices.
Use at your own discretion!
System Requirements
- Node.js 14.0 or higher
- npm 6.0 or higher
- Modern web browser with Widevine DRM support (Chrome, Firefox, Safari, Edge)
- MP3 music files (optional, for local library)
- Spotify Premium account (optional, for streaming)
Installation Steps
1. Clone the Repository
git clone https://github.com/Nigcra/nJukebox.git
cd nJukebox
2. Install Dependencies
npm install
Note: This will install all required Node.js packages including Express.js, SQLite3, and other dependencies.
3. Prepare Your Music Library
Copy your MP3 files to the music/ directory:
# Create music directory if it doesn't exist
mkdir -p music
# Copy your MP3 files
cp /path/to/your/music/*.mp3 music/
Important: Only MP3 files are currently supported. Make sure your files have proper ID3 tags for best results.
4. Start the System
nJukebox consists of two components that need to be running:
Option A: Start Everything (Recommended)
npm start
Option B: Start Components Separately
# Terminal 1: Start the data server
npm run server
# Terminal 2: Start the web interface
npm run web
First Time Setup
1. Music Library Scan
When you first access nJukebox, it will automatically scan your music/ directory for MP3 files. This process:
- Reads ID3 tags from your MP3 files
- Extracts album artwork
- Creates a searchable database
- Organizes music by artist, album, genre, and decade
2. Admin Access
To access admin features:
- Click the lock icon (🔒) in the top-left corner
- Enter the default PIN:
1234
- You now have access to admin controls
Security: Change the default PIN in the admin settings for production use.
3. Configure Settings
In the admin panel, you can configure:
- Language: Switch between German and English
- Auto-DJ: Enable automatic playlist generation
- Track Lock Time: Prevent recently played tracks from being queued again
- Visualizations: Customize visual effects
Basic Usage
Browsing Music
- 🌟 Neu: Recently added tracks
- 👤 Interpret: Browse by artist
- 💿 Album: Browse by album
- 🎷 Genre: Browse by music genre
- 🕰️ Jahrzehnt: Browse by decade
- 📊 Top Hits: Most played tracks
Playing Music
- Browse or search for a track
- Click on any track to add it to the playlist
- Use the player controls at the bottom
- View the current playlist on the right side
Search
Use the search bar to find music by:
- Artist name
- Album title
- Song title
- Genre
Next Steps
Hinweis: Dieses Projekt wurde für meinen persönlichen Gebrauch als Touch-Display Hardware-Jukebox entwickelt.
Die Code-Qualität ist zugegebenermaßen schlecht und wurde auf Funktionalität statt auf bewährte Praktiken ausgelegt.
Verwenden Sie es auf eigene Verantwortung!
Systemanforderungen
- Node.js 14.0 oder höher
- npm 6.0 oder höher
- Moderner Webbrowser mit Widevine DRM-Unterstützung (Chrome, Firefox, Safari, Edge)
- MP3-Musikdateien (optional, für lokale Bibliothek)
- Spotify Premium-Account (optional, für Streaming)
Installationsschritte
1. Repository klonen
git clone https://github.com/Nigcra/nJukebox.git
cd nJukebox
2. Abhängigkeiten installieren
npm install
Hinweis: Dies installiert alle erforderlichen Node.js-Pakete einschließlich Express.js, SQLite3 und andere Abhängigkeiten.
3. Musikbibliothek vorbereiten
Kopieren Sie Ihre MP3-Dateien in das music/ Verzeichnis:
# Musikverzeichnis erstellen, falls es nicht existiert
mkdir -p music
# Ihre MP3-Dateien kopieren
cp /pfad/zu/ihrer/musik/*.mp3 music/
Wichtig: Derzeit werden nur MP3-Dateien unterstützt. Stellen Sie sicher, dass Ihre Dateien ordnungsgemäße ID3-Tags haben für beste Ergebnisse.
4. System starten
nJukebox besteht aus zwei Komponenten, die laufen müssen:
Option A: Alles starten (empfohlen)
npm start
Option B: Komponenten separat starten
# Terminal 1: Datenserver starten
npm run server
# Terminal 2: Web-Interface starten
npm run web
Ersteinrichtung
1. Musikbibliothek scannen
Beim ersten Zugriff auf nJukebox wird automatisch Ihr music/ Verzeichnis nach MP3-Dateien durchsucht. Dieser Prozess:
- Liest ID3-Tags aus Ihren MP3-Dateien
- Extrahiert Album-Artwork
- Erstellt eine durchsuchbare Datenbank
- Organisiert Musik nach Interpret, Album, Genre und Jahrzehnt
2. Admin-Zugang
Um auf Admin-Funktionen zuzugreifen:
- Klicken Sie auf das Schloss-Symbol (🔒) in der oberen linken Ecke
- Geben Sie die Standard-PIN ein:
1234
- Sie haben jetzt Zugriff auf Admin-Funktionen
Sicherheit: Ändern Sie die Standard-PIN in den Admin-Einstellungen für den Produktiveinsatz.
3. Einstellungen konfigurieren
Im Admin-Panel können Sie konfigurieren:
- Sprache: Zwischen Deutsch und Englisch wechseln
- Auto-DJ: Automatische Playlist-Generierung aktivieren
- Track-Sperrzeit: Verhindert, dass kürzlich gespielte Titel erneut in die Warteschlange gestellt werden
- Visualisierungen: Visuelle Effekte anpassen
Grundlegende Nutzung
Musik durchsuchen
- 🌟 Neu: Kürzlich hinzugefügte Titel
- 👤 Interpret: Nach Künstler durchsuchen
- 💿 Album: Nach Album durchsuchen
- 🎷 Genre: Nach Musikgenre durchsuchen
- 🕰️ Jahrzehnt: Nach Jahrzehnt durchsuchen
- 📊 Top Hits: Meistgespielte Titel
Musik abspielen
- Durchsuchen oder suchen Sie nach einem Titel
- Klicken Sie auf einen beliebigen Titel, um ihn zur Playlist hinzuzufügen
- Verwenden Sie die Player-Steuerungen unten
- Sehen Sie sich die aktuelle Playlist auf der rechten Seite an
Suche
Verwenden Sie die Suchleiste, um Musik zu finden nach:
- Interpretenname
- Albumtitel
- Song-Titel
- Genre
Nächste Schritte