Giter VIP home page Giter VIP logo

Website

ADE Scheduler: a scheduling tool made for humans

ADE-Scheduler is a web-application made by (former) students which is destined to be used by UCLouvain members (students, academics,...).

Project creators

We are three former students from the Ecole Polytechnique de Louvain (EPL) and were starting our first master year at the start of the project.

Why such a tool ?

The currently used scheduling tool used by the UCLouvain, ADE, lacks an intuitive interface and general usability. Therefore, we decided to create ADE-Scheduler as a "wrapper" around this tool to make it more intuitive, nice and complete.

Before that, we were using the excellent ADE2ICS made by Corentin Damman which allowed to create subscription links where one could select its events (TPs, CMs, etc). ADE-Scheduler is therefore an improvement of this tool.

Key dates

  • 2019 - August: start of the project
  • 2019 - September: access to the API of ADE and release of the first version of the tool
  • 2020 - Summer: complete overhaul of the tool to make it more attractive, intuitive and mobile-friendly.
  • 2020 - September: release of the second version of the tool
  • 2021 - September: 2 years of service, Python 3.9 upgrade and 3500+ users
  • 2021 - December: 7000+ users
  • 2022 - January: moving auth. system to UCLouvain OAuth, thereby resetting the number of users to 0 on January 29nth, 2022
  • 2022 - Summer: first major contribution from students to the ADE Scheduler repository

How does it work ?

Back-end python

Data source

Thanks to the access to the API of ADE, we obtain all the information in a XML format. Those are up-to-date with the infos you will find on the ADE website. We are mainly interested in two type of informations:

  • Event list sorted by course
  • Location of every UCLouvain classroom, auditorium, etc.

Data treatment

The backend of ADE-Scheduler is written in Python using the Flask micro-framework. Other packages are also used to supply many useful functions to enhance the overall user experience.
Among those, we use pandas pandas to optimise the performances, ics to convert the schedules in the iCal format - and many more.

We also use a Redis server to store user sessions and buffer data, as well as a PostgreSQL database to store user accounts and schedules.

Front-end html js

Client-side logic is handled using Vue, a JavaScript reactive framework. Moreover, the events are displayed on a calendar generated with the help of the FullCalendar package.

The UI is made mainly with the help of Bootstrap, which handles all the CSS and makes the website enjoyable and mobile-friendly.

Functionalities and comparison with ADE

In short, ADE Scheduler offers the same information as ADE, but in a much more elegant manner. A side by side comparison of the two sites just speaks for itself:

But an intuitive design is not the only advantage of ADE Scheduler, it also comes with several useful tools which ADE does not have:

  • black-listing some events in order to have a clean schedule
  • easily viewing multiple courses
  • handling multiple schedules
  • computing your optimized schedule which minimizes conflicts
  • adding private events
  • no connection required
  • caching of you data so you don't lose everything each time you leave
  • detailed map of classrooms and events associated
  • possibility to download schedule to iCal file or create subscription link
  • you can share you calendar with anyone you would like

... and many more !

Documentation

The website's documentation is available on the help page.

Future improvements

Here are listed a series of issues we would like to implement in the future:

  • Implement a complete testing suite to enable easy and robust CI
  • Complete the help section with more videos, tips, etc.

We are open to any suggestions !

Contributing

This application being open source, everyone is more than welcome to contribute in any way ! To see more details about our contributing guidelines, please refer to contributing.

Any suggestion, idea or bugs are much appreciated, and you can contact us at all times either by mail or directly on this repository.

ADE Scheduler's Projects

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.