Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Spotify Music Analysis App

Application web pour analyser vos données Spotify et générer des playlists intelligentes basées sur la météo et votre vitesse de conduite.

✨ Fonctionnalités

  • 🔐 Authentification Spotify - Connexion sécurisée via OAuth 2.0
  • 📊 Analyse musicale - Top tracks, artistes, et morceaux récemment écoutés
  • 🎵 Générateur de playlist simple - Crée une playlist avec vos morceaux favoris
  • 🚗 Mode conduite intelligent - Adapte la playlist à la météo, heure et vitesse
  • 💾 Sauvegarde sur Spotify - Crée des playlists directement dans votre compte
  • 🎧 Lecteur audio - Écoutez les aperçus 30 secondes depuis l'app

🚀 Démarrage rapide

Prérequis

  • Node.js 14+
  • MongoDB en local ou distant
  • Compte Spotify (gratuit ou premium)

Installation

# Cloner le projet
cd server
npm install

Configuration

Créez un fichier .env :

MONGODB_URI=mongodb://localhost:27017/mongo-android-app
PORT=5000
JWT_SECRET=votre_clé_secrète
NODE_ENV=development
SPOTIFY_CLIENT_ID=votre_client_id
SPOTIFY_CLIENT_SECRET=votre_client_secret
SPOTIFY_REDIRECT_URI=http://127.0.0.1:5000/api/spotify/callback

Lancer l'application

# Terminal 1 : Démarrer MongoDB
mongod

# Terminal 2 : Démarrer le serveur Node
cd server
npm start

Ouvrez http://localhost:5000 dans votre navigateur.

🎯 Configuration Spotify

  1. Allez sur https://developer.spotify.com/dashboard
  2. Créez une application
  3. Copiez votre Client ID et Client Secret
  4. Dans "Edit Settings", ajoutez le Redirect URI : http://127.0.0.1:5000/api/spotify/callback
  5. Remplissez votre .env avec ces données

📱 Structure du projet

server/
├── server.js                 # Point d'entrée principal
├── routes/
│   ├── spotifyRoutes.js     # Routes Spotify API
│   ├── userRoutes.js        # Routes utilisateur
│   ├── itemRoutes.js        # Routes articles
│   └── recommendationRoutes.js
├── models/
│   ├── User.js              # Modèle utilisateur MongoDB
│   ├── SpotifyToken.js      # Stockage des tokens
│   └── ...
├── public/
│   ├── index.html           # Page d'accueil (login)
│   └── analysis.html        # Tableau de bord principal
├── .env                      # Configuration (variables d'environnement)
└── package.json

🌐 API Endpoints

Spotify

  • GET /api/spotify/login - Redirection vers Spotify pour authentification
  • GET /api/spotify/callback - Callback après authentification
  • GET /api/spotify/profile - Profil utilisateur
  • GET /api/spotify/top-tracks - Top 5 morceaux
  • GET /api/spotify/top-artists - Top 10 artistes
  • GET /api/spotify/recently-played - Morceaux récemment écoutés
  • GET /api/spotify/generate-playlist - Générer playlist (simple)
  • POST /api/spotify/generate-smart-playlist - Générer playlist intelligente
  • POST /api/spotify/save-playlist - Sauvegarder sur Spotify

🎨 Design

  • Thème Spotify : Couleurs officielles (#121212 noir, #1DB954 vert)
  • Responsive : Adapté mobile et desktop
  • Interface moderne : Gradients, animations fluides, cards élégantes

🚗 Mode Conduite

L'algorithme ajuste la playlist selon :

Vitesse :

  • < 50 km/h → Musique relax (tempo 90 BPM)
  • 50-90 km/h → Route tranquille (tempo 120 BPM)
  • 90-130 km/h → Autoroute dynamique (tempo 140 BPM)
  • 130 km/h → Mode sport (tempo 160 BPM)

Météo :

  • ☀️ Soleil → Musique joyeuse
  • 🌧️ Pluie → Musique mélancolique
  • ⛈️ Orage → Musique énergique

Heure :

  • Matin → Réveil en douceur
  • Midi → Pause détente
  • Après-midi → Productivité
  • Soir → Décontraction

🔧 Technos

  • Backend : Node.js + Express.js
  • Base de données : MongoDB
  • API externe : Spotify Web API, Open-Meteo
  • Frontend : HTML5 + CSS3 + Vanilla JS
  • Authentification : OAuth 2.0 + JWT

📄 Licence

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages