# Managerr Une application web pour gérer vos films et séries TV en utilisant les API de Sonarr et Radarr. ## Fonctionnalités - **Authentification** : Système complet d'inscription et de connexion pour les utilisateurs - **Tableau de bord** : Affichage d'un agenda mensuel avec les téléchargements prévus - **Films** : Gestion complète de votre collection de films - Liste de tous les films - Films manquants - Films à venir - Historique des téléchargements - **Séries** : Gestion complète de vos séries TV - Liste de toutes les séries - Épisodes manquants - Épisodes à venir - Historique des téléchargements - **Paramètres** : Configuration personnalisée des API - Gestion des URLs et clés API de Sonarr et Radarr - Test de connexion aux API - **Interface adaptative** : Design responsive pour mobile, tablette et desktop - **Thème** : Support des modes clair et sombre avec détection des préférences système ## Technologies utilisées ### Backend - **Node.js** et **Express.js** pour l'API - **MongoDB** pour la base de données - **JWT** pour l'authentification - **MVC** architecture pour une meilleure organisation du code ### Frontend - **Vue.js 3** avec **Composition API** - **Vue Router** pour la navigation - **Vuex** pour la gestion d'état - **Axios** pour les requêtes HTTP - **CSS Variables** pour la gestion des thèmes - **Lazy Loading** des composants pour optimiser les performances ## Prérequis - Node.js (v14 ou supérieur) - MongoDB - Instances fonctionnelles de Sonarr et Radarr avec leurs API accessibles ## Installation ### Configuration du backend 1. Cloner le dépôt ```bash git clone https://github.com/votre-username/managerr.git cd managerr ``` 2. Installer les dépendances du backend ```bash cd backend npm install ``` 3. Créer un fichier `.env` basé sur le fichier `.env.example` ```bash cp ../config/.env.example ../config/.env ``` 4. Modifier le fichier `.env` avec vos propres paramètres ``` PORT=5000 MONGODB_URI=mongodb://localhost:27017/managerr JWT_SECRET=votre_secret_jwt ``` **Note** : Les URLs et clés API de Sonarr et Radarr peuvent maintenant être configurées directement depuis l'interface utilisateur dans la section "Paramètres". ### Configuration du frontend 1. Installer les dépendances du frontend ```bash cd ../frontend npm install ``` 2. Créer un fichier `.env.local` pour la configuration du frontend ```bash echo "VUE_APP_API_URL=http://localhost:5000/api" > .env.local ``` ## Lancement de l'application ### Démarrer le backend ```bash cd backend npm run dev ``` ### Démarrer le frontend ```bash cd frontend npm run serve ``` L'application sera accessible à l'adresse : http://localhost:8012 > **Note :** Si vous rencontrez des erreurs lors du démarrage du frontend, assurez-vous que toutes les dépendances sont correctement installées avec `npm install`. Pour les erreurs liées aux plugins webpack, la configuration a été rendue plus robuste pour gérer les différentes versions de Vue CLI. ### Démarrer l'application complète (script utilitaire) Un script est fourni pour démarrer à la fois le backend et le frontend en une seule commande : ```bash cd managerr ./start.sh ``` Utilisez Ctrl+C pour arrêter les deux serveurs. ### Utilisation avec Docker (recommandé) L'application peut également être exécutée dans des conteneurs Docker, ce qui facilite le déploiement et évite les problèmes de configuration locale : 1. Assurez-vous que Docker et docker-compose sont installés sur votre système 2. Exécutez les commandes suivantes : ```bash # Démarrer tous les services (MongoDB, backend et frontend) ./docker-manage.sh start # En cas d'erreur, utilisez la version simplifiée ./docker-manage.sh start:simple # Afficher l'état des services ./docker-manage.sh status # Afficher les logs ./docker-manage.sh logs # Arrêter tous les services ./docker-manage.sh stop ``` L'application sera accessible à l'adresse : http://localhost:8012 Pour plus d'informations sur l'utilisation avec Docker et la résolution des problèmes, consultez le fichier [DOCKER.md](DOCKER.md). ## Déploiement ### Backend 1. Démarrer le backend en mode production ```bash cd backend npm start ``` ### Frontend 1. Construire le frontend optimisé pour la production ```bash cd frontend npm run build ``` 2. Déployer le dossier `/dist` sur votre serveur web ## Optimisations implémentées - **Lazy loading** des composants Vue.js - **Compression des assets** pour le frontend - **Mise en cache des réponses API** côté client - **Optimisation des images** pour réduire les temps de chargement - **Division du code** (code splitting) pour des temps de chargement initiaux plus rapides ## Contribuer 1. Fork le projet 2. Créer une branche pour votre fonctionnalité (`git checkout -b feature/amazing-feature`) 3. Commit vos changements (`git commit -m 'Add some amazing feature'`) 4. Push vers la branche (`git push origin feature/amazing-feature`) 5. Ouvrir une Pull Request ## Licence Distribué sous la licence MIT. Voir `LICENSE` pour plus d'informations. ## Documentation - [Documentation technique](/backend/API_DOCS.md) - Documentation complète de l'API - [Guide utilisateur](/frontend/docs/USER_GUIDE.md) - Guide d'utilisation de l'application ## Contact Votre Nom - [@votre_twitter](https://twitter.com/votre_twitter) - email@exemple.com Lien du projet: [https://github.com/votre-username/managerr](https://github.com/votre-username/managerr)