| backend | ||
| config | ||
| frontend | ||
| .gitignore | ||
| docker-compose.yml | ||
| project.md | ||
| README.md | ||
| TODO.md | ||
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
- Cloner le dépôt
git clone https://github.com/votre-username/managerr.git
cd managerr
- Installer les dépendances du backend
cd backend
npm install
- Créer un fichier
.envbasé sur le fichier.env.example
cp ../config/.env.example ../config/.env
- Modifier le fichier
.envavec 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
- Installer les dépendances du frontend
cd ../frontend
npm install
- Créer un fichier
.env.localpour la configuration du frontend
echo "VUE_APP_API_URL=http://localhost:5000/api" > .env.local
Lancement de l'application
Démarrer le backend
cd backend
npm run dev
Démarrer le frontend
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 :
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 :
- Assurez-vous que Docker et docker-compose sont installés sur votre système
- Exécutez les commandes suivantes :
# 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.
Déploiement
Backend
- Démarrer le backend en mode production
cd backend
npm start
Frontend
- Construire le frontend optimisé pour la production
cd frontend
npm run build
- Déployer le dossier
/distsur 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
- Fork le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/amazing-feature) - Commit vos changements (
git commit -m 'Add some amazing feature') - Push vers la branche (
git push origin feature/amazing-feature) - Ouvrir une Pull Request
Licence
Distribué sous la licence MIT. Voir LICENSE pour plus d'informations.
Documentation
- Documentation technique - Documentation complète de l'API
- Guide utilisateur - Guide d'utilisation de l'application
Contact
Votre Nom - @votre_twitter - email@exemple.com
Lien du projet: https://github.com/votre-username/managerr