Un planning universitaire moderne réalisé par @kernoeb.
- Hors connexion / installation en mode PWA
- Couleurs par catégorie ou par UE (Amphi, TD, TP, etc.) et choix des couleurs
- Mode jour / semaine / mois
- Zoom sur un cours
- Changement d'université / spécialité (cookie ou paramètre)
- Thème clair / thème sombre (cookie)
- Sélection multiple de plannings
- Actualisation du planning au chargement, au focus de la page et toutes les 2 minutes
- Liste de bloquage (cacher un cours)
N'hésitez pas à créer une issue ou à me contacter sur Telegram (@kernoeb) ou Discord (kernoeb#7737) pour plus d'infos, pour me notifier d'une erreur ou proposer une fonctionnalité !
Si votre université (ou autre !) accepte le format ICS
pour les calendriers, n'hésitez pas à faire une Pull Request en modifiant le fichier assets/plannings.json
:)
Avec @matissePe et @ShockedPlot7560, nous avons réalisé un script pour générer automatiquement le JSON dans la bonne forme, situé dans le dossier
resources
du projet.
Le planning est développé en Nuxt.js. Tout est dockerisé !
/api/calendars
: fetch côté serveur du calendrier au format.ics
, puis conversion au format JSON/api/urls
(en cache côté serveur) :./assets/plannings.json
, mais sans les URLs
Chaque planning est sauvegardé dans une base de données MongoDB
, à un intervalle régulier. En cas de lenteur ou de coupure serveur (côté université), le dernier planning enregistré est alors utilisé.
Créez un fichier .env
avec les variables suivantes :
Remplacez la variable 'SESSION_SECRET' avec une valeur aléatoire et unique.
SESSION_SECRET=secret
MONGODB_URL=mongodb:27017
TZ=Europe/Paris
Copiez le fichier docker-compose.yml
et lancez docker-compose pull && docker-compose up -d --remove-orphans
pour démarrer les conteneurs.
Pull automatique (toutes les 30 minutes) du docker-compose et démarrage :
*/30 * * * * cd /path/to/dockercompose/ && docker-compose pull && docker-compose up -d --remove-orphans
- Lancement en local :
pnpm run dev
(pour ne pas utiliser Mongo et ne pas lancer les backups) - Build du projet :
pnpm run build
- Démarrage de MongoDB (en local) :
docker-compose up -f docker-compose-dev.yml up -d --remove-orphans
version: '2'
services:
mongodb:
image: docker.io/bitnami/mongodb:5.0
restart: always
ports:
- "27017:27017"
volumes:
- '/opt/planning_v2:/bitnami/mongodb'
For MacOS M1, you can use
zcube/bitnami-compat-mongodb:5.0
(merci à vous ! ❤️)
Si vous souhaitez me faire un petit don :