Giter VIP home page Giter VIP logo

planninguniv's Introduction

planningiut

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

Heroku App Status

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 static/url.json - en respectant à la lettre le schéma déjà présent ! 😉

Note : dans la plupart des cas, vous devrez exporter votre calendrier au format iCalendar, et récupérer l'url obtenue (veillez à mettre un calendrier qui dure longtemps!).

Fonctionnalités

  • Mode hors connexion
  • Couleurs par catégorie (Amphi, TD, TP, etc.)
  • Mode jour / semaine / mois
  • Zoom sur un cours
  • Changement d'université / spécialité (cookie)
  • Thème clair / thème sombre (cookie)
  • Actualisation du planning au chargement, au focus de la page, ainsi que toutes les 2 minutes

N'hésitez pas à créér 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é !

Comment ça marche ?

Le planning est hébergé sur un Heroku, et développé en Nuxt.js (et donc Vue.js).
Nuxt.js, c'est du server-side rendering (SSR), donc le planning est généré côté serveur.

Il existe aussi une api : /api/getCalendar, qui fetch côté serveur le calendrier au format .ics depuis l'url donnée dans static/url.json (et vérifie l'existence du calendrier, comme un contrat). Ce fichier est ensuite transformé en .json.

Note : l'url n'est pas directement fetch dans la méthode $fetch de Nuxt.js pour éviter les problèmes de CORS.

L'application est une PWA, et fonctionne donc hors connexion (à condition d'être déjà venu sur le planning, ça se sauvegarde dans le cache !)

Pour finir, afin d'éviter les erreurs serveurs (http 500) côté université, les fichiers json sont sauvegardés dans une base de donnée PostgreSQL (Heroku). Si une erreur est présente, les données seront donc récupérées dans cette base de donnée.

Captures

desktop





Installation

Heroku

Config Vars :

  • DATABASE_URL | postgres://....
  • HOST | 0.0.0.0
  • NODE_ENV | production
  • NPM_CONFIG_PRODUCTION | false

Dons

Si vous souhaitez me faire un petit don :
Support me on Buy Me a Coffee PayPal

planninguniv's People

Contributors

bizouarn avatar eclixal avatar kernoeb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.