All Projects → kernoeb → PlanningSup

kernoeb / PlanningSup

Licence: Apache-2.0 license
Planning universitaire réalisé en Nuxt.js

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
SCSS
7915 projects

Projects that are alternatives of or similar to PlanningSup

Fake-News-Detection-Project
Fake News Detection Final Year College Project with Project Report, PPT, Code, Research Paper and Documents.
Stars: ✭ 16 (+0%)
Mutual labels:  university, college
Aliah-University-App
App made using Flutter for Aliah University Kolkata, West Bengal, India
Stars: ✭ 29 (+81.25%)
Mutual labels:  university, college
AndroidOMRHelper
An android application for validating images of OMR sheets before they are sent for processing.
Stars: ✭ 38 (+137.5%)
Mutual labels:  university
rdv-solidarites.fr
Prise de RDV pour les servics publics
Stars: ✭ 33 (+106.25%)
Mutual labels:  agenda
Medi-Consult
Diseases Checker Application 🚑 | Android Application
Stars: ✭ 38 (+137.5%)
Mutual labels:  college
site
RailroadPM.org 2.x Site
Stars: ✭ 18 (+12.5%)
Mutual labels:  nuxtjs
dw-ui
Dewib UI is an open source ui library for developing HTML/CSS and JS websites. This package is developed with Vue.js and tailwindcss for NuxtJS
Stars: ✭ 21 (+31.25%)
Mutual labels:  nuxtjs
cuc-wiki
个人教学 Wiki
Stars: ✭ 83 (+418.75%)
Mutual labels:  college
cvfy
CV generator built with Nuxt.js, TailwindCSS, deployed on Netlify.
Stars: ✭ 165 (+931.25%)
Mutual labels:  nuxtjs
pwa-demo
TYPO3 Headless & PWA demo distribution
Stars: ✭ 33 (+106.25%)
Mutual labels:  nuxtjs
MeetNinja-Google-Meet-Bot
A super dope tool that attends your Google Meet(s) for you. Flawlessly handles scheduled multiple (subsequent) Meet sessions. Also disables the camera & microphone, and shows timestamps of joining & ending times for each Meet. Supported: Google Chrome / Mozilla Firefox running on Linux / Mac / Windows
Stars: ✭ 56 (+250%)
Mutual labels:  college
portal-web-legacy
The web client for the JOSA portal.
Stars: ✭ 15 (-6.25%)
Mutual labels:  nuxtjs
phive
A kind of freelancing website for College.
Stars: ✭ 61 (+281.25%)
Mutual labels:  college
webapp
Hospital management system web application repo
Stars: ✭ 41 (+156.25%)
Mutual labels:  nuxtjs
beamer-themes
Latex beamer themes for presentations
Stars: ✭ 48 (+200%)
Mutual labels:  university
nuxt-fontagon
Try converting svg into font easily to make icon-font automatically. The Icon-Font generator Fontagon is available on the Nuxt module.
Stars: ✭ 18 (+12.5%)
Mutual labels:  nuxtjs
Nuxt.tBug
🍓 一个Nuxt.js 的项目,收集前后端分离中出现的各种Bug,方便大众
Stars: ✭ 79 (+393.75%)
Mutual labels:  nuxtjs
quadruped control
Quadruped control architecture
Stars: ✭ 46 (+187.5%)
Mutual labels:  planning
netlogs
Web extension for debugging your API
Stars: ✭ 16 (+0%)
Mutual labels:  nuxtjs
madao
🎉 My blog, powered by @nuxt
Stars: ✭ 54 (+237.5%)
Mutual labels:  nuxtjs


PlanningSup
PlanningSup

Un planning universitaire moderne réalisé par @kernoeb.

DeepScan grade

img.png

Fonctionnalités

  • 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é !

Ajouter une spécialité ou une université

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.

Comment ça marche ?

Le planning est développé en Nuxt.js. Tout est dockerisé !

APIs :

  • /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é.

Captures (mobile)



Installation

Docker

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

Développement

Nécessaire

Commandes utiles

  • 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

Donateurs

(merci à vous ! ❤️)

Si vous souhaitez me faire un petit don :

PayPal

Support me on Buy Me a Coffee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].