Giter VIP home page Giter VIP logo

ade-scheduler's Introduction

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 People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar jeertmans avatar lgtm-com[bot] avatar louislabbe avatar louisna avatar pre-commit-ci[bot] avatar snakyeyes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ade-scheduler's Issues

Modifying date/time of created event

Is your feature request related to a problem? Please describe.
When adding my own personal events to the scheduler, I sometimes want to arrange them a bit, by modifying the time of the day I want them to appear for example. As of now, the only way to do so is to delete the event and create a new one with the modified time.

Describe the solution you'd like
Be able to easily modify the date and time of such events via the "Modifier" button on each event card.

Describe alternatives you've considered
Stated in the first question, delete and recreate, which seems complex for a task that could be done more easily (I think)

Additional context
image

Hide/delete auto computed schedules

Is your feature request related to a problem? Please describe.
After using the 'Calculate' function of the app to get 5 optimal schedules, I inspired from them and built my own optimal schedule on the main grid ('ADE'). I now do not need the 5 computed schedules anymore, but they remain on the bar :
img4

Describe the solution you'd like
Maybe have an option to erase them, or make them disappear ?

Additional context
This is once again a non-crucial feature, as I can simply destroy and rebuild a new Schedule and not use the 'Calculate' function this time.
Thanks for all your work !

If my requests are irrelevant or minor, please notify me and I will pay attention to not post such requests in the future.

[Suggestion] Afficher le nom entier du cours + professeurs + heures

ade vs scheduler

Une des fonctionnalités que j'apprécie dans l'outil ADE officiel est l'affichage direct des noms de cours, du professeur et de l'heure à laquelle commence l'activité. Cette information est aussi disponible sur ade-scheduler mais il faut passer le curseur de la souris sur un cours pour faire apparaître une bulle d'informations avec le nom de cours etc.

Personnellement, les sigles de cours ne me disent rien, il me faut le nom pour savoir de quel cours il s'agit. Ma suggestion est donc d'afficher le nom du cours et le nom du professeur sur le bloc horaire directement, sans avoir besoin de passer sa souris dessus.

Exemple:
exemple

Contribution page

By mid-January 2021, I think it would be great to have a contribution page.
This page should be very nice and concise so that people can clearly see, in a few seconds, how they can help us.

The deadline is such that we would be ready for the start of next semester.

I think we should split the thing into 2 :

#1 For non-programmers

  • Create a form for bugs / features requests
  • Make an interactive poll with a list a the next features proposed and people can vote for the features they want ?
  • Add or correct geo-location of buildings
  • Add possibility to add or correct translation ? I know that some services are available online but I don't know if it is really relevant here. Nonetheless typo correction should be a good starting point.

#2 For programmers

Git issues, ReadTheDocs, ECTS you can obtain if you are an EPL student (https://uclouvain.be/cours-2020-lingi2402 and https://uclouvain.be/cours-2020-lingi2401).

Maybe embed some top issues directly in the page ?

NPX: lots of deprecation warnings

Describe the bug
npm update seems to find problems in the deps, and npx webpack alerts about many deprecations.

To Reproduce
Steps to reproduce the behavior:

  1. npm update (ignore warnings)
(node:25399) ExperimentalWarning: The fs.promises API is experimental
npm WARN EBADENGINE Unsupported engine { package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=10.17.0' },
npm WARN EBADENGINE   current: { node: 'v10.16.3', npm: '7.9.0' } }

added 22 packages, changed 2 packages, and audited 676 packages in 18s

63 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
  1. npx webpack: enjoy the deprecation warnings
  2. npm audit fix --force: try to find the npm warnings
  3. npx webpack:
(node:24870) ExperimentalWarning: The fs.promises API is experimental
[webpack-cli] Failed to load '/home/jerome/Documents/programmation/ADE-Scheduler/webpack.config.js' config
[webpack-cli] { Error: Cannot find module 'vue-loader/lib/plugin'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (/home/jerome/Documents/programmation/ADE-Scheduler/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
    at Object.<anonymous> (/home/jerome/Documents/programmation/ADE-Scheduler/webpack.config.js:4:25)
    at Module._compile (/home/jerome/Documents/programmation/ADE-Scheduler/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3) code: 'MODULE_NOT_FOUND' }

Expected behavior
I wish we had no warning at all :')

Nav-scroll on "What is new" page doesn't work properly

Describe the bug
On the left panel, we can directly search through the different topics of the pages.
But clicking on "September 2020" directly opens the "August 2020" menu, so not the correct one.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ADE Schedule or run it on your computer
  2. Click on 'September 2020' (left panel) on the "What is new" page
  3. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

chore(ci): automerge dependabot PRs

If we manage to develop a good set of tests, and we feel "safe" about trusting them, then we should use an automerge GitHub action for automatically merging dependabot PRs.

Cleaner e-mail templates

Definitely not the most important thing to do, but it would be nice to do some "nicer" e-mails (confirmation, lost password, etc.).
Currently, there isn't even the name "ADE-Scheduler" mentioned anywhere (sender, subject, content), so it is not all clear who the mail comes from...

Python: using uid instead of id

Confusion of naming

id is a Python builtin function and I think we should, in the future, change the naming all id variables to uid to avoid confusion.

Changes to do

This currently concerns the Schedule objects.
Changes are mostly in Python code but one should be aware to:

  1. verify that JS files have their endpoints updated accordingly if needed (i.e. change id to uid)
  2. verify that you old objects stored in the database to still work (would be sad that object.uid does not exist when deployed on production)

Replace Flask-Track-Usage

Describe the solution you'd like
A in-house statistical tracking tool.

Describe alternatives you've considered
We're currently using Flask-Track-Usage but it is lackluster in some areas, as well as being no longer maintained.
Moreover, some tracked infos are redundant or no longer interesting.

Color picker - Cannot copy / paste content

Describe the bug
We cannot copy or paste content from / to the color picker.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the main calendar page
  2. Click on any color
  3. Try to copy the color code or paste something into it.

Expected behavior
It would be nice to be able to copy and (at least) paste content inside cells, this way we can use color codes from another place on the internet.

Additional context
I think it may be related to #55, but unsure.

Remove the project_id param

Issue

Currently, the ADE API uses a project_id parameter to distinguish two academic years:

  • 8 for 2021-2022
  • 14 for 2020-2021 (if my memory serves me well)

This means that, based on the number provided in the request args (e.g. &code=FSA1BA&project_id=8), we get the events for the corresponding academic year. I believe this system is counter-intuitive as it requires changing project id's to view events from either year.
Moreover, the automation process is annoying and a great source of errors/bugs whenever project_ids are added/or deleted (for example, this morning, the website was unusable because our server believed the project_id=14 was still valid even though it had been deleted).

Suggestion

I believe we, at ADE-Scheduler, in the spirit of making the interface the most intuitive and user-friendly possible, should remove the project_id entirely from the equation:

  • Remove all UI elements linked to project_id's
  • If several project_id's are present (essentially, this is the case during every summer, until the first day of the new academic year, around half September), merge all events together (e.g. remove the distinction &code=FSA1BA&project_id=8|14|...).
  • This could "easily" be done at the ADE API level, but requires changes for the remaining of the stack (from the schedule logic to the user interface) as the project_id param is present in a lot of functions.

Exporting calendar to PDF

Is your feature request related to a problem? Please describe.
It would be nice to be able to generate a clean PDF version

Describe the solution you'd like
Click on "Export" -> "To PDF", then select some parameters:

  • date range (from... to)
  • calendar format (week / month)
  • days format (5/6/7 days a week)
  • hours format (24h day, or starting at 8am, ending at 22pm, ...)
  • content display (detailed vs only summary >< ics display vs what is displayed on our site)

Describe alternatives you've considered
I tried to built-in "print page" tool from my browser but the calendar rendering isn't nice and

Additional context
A good tool to prepare your blocus :)

Confusing naming of Flask endpoints

In my opinion, we should change :

  • update_custom_event from POST to PATCH
  • add_code from PATCH to POST
    accordingly to convention used in other projects on the web.

Also, we should maybe uniformize the naming and choose between delete and remove for the custom events for example.

MyADE Api usage

Is your feature request related to a problem? Please describe.
Currently, we do not use the (as of #703 is implemented) any of the potential that a UCLouvain login can bring.

Describe the solution you'd like
Here is a list of things we might do:

  • add a non-deletable MyADE schedule that is in sync with the MyADE api (GET and PUT changes)
  • automatically add the courses from MyADE to schedule
  • color the "MyADE" schedule differently
  • redo the user SQL table ?

Adding extra events from student coop.

(Idea from @louisna )
Is your feature request related to a problem? Please describe.
Allow students coop. to provide event information to our tool. E.g.: the CI (cercle industriel) can list all the events that take place in the CI, the CASA, etc.

Describe the solution you'd like
An admin panel + an account type for event creators

TP considered as CM

Describe the bug
A class that is a TP is actually considered by the scheduler as a CM.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new schedule and add either the 'FILIERE INFO 12' group of classes or the 'LELEC1370' class.
  2. The class starts on week 1-7 February 2021, go to that week and you will have two CM's (Q4 & Q4.1), with one actually being a TP.

Expected behavior
Have the TP appear as a TP.

Screenshots
img5

Desktop (please complete the following information):

  • OS: Windows 10 (Family)
  • Browser: Chrome & OperaGX
  • Version: 88.0.4324.96 & LVL2 (core: 72.0.3815.473)

Smartphone (please complete the following information):
Not tested

Link the course page on UCLouvain's website

We have already talked about this but it could be nice to generate links on our website which redirect to the course page on UCLouvain website.

For the Python part, it should be very easy, just a string formatter:

fr_page = f"https://uclouvain.be/cours-{year}-{course}"  # Ex.: https://uclouvain.be/cours-2020-lingi2402
en_page = f"https://uclouvain.be/en-cours-{year}-{course}"  # Ex.: https://uclouvain.be/en-cours-2020-lingi2402

Sadly, pages for course "combo" are not that easy to generate (ex.: fsa11ba) but it can be added later.

For the JS part, I don't know the most appropriate place to put the links?

Desynchronized classes

Describe the bug
When overviewing the different possible hours to attend to for a class when building an optimal schedule, you do not get the same availabilities whether you click on the class in your week schedule at the center of the screen or on the class in the list at the top-left corner. Some of those desynchronized hours thus are not visible on your schedule.

To Reproduce

  1. Create a new schedule and add the 'FSA12BA' group of classes (class concerned : 'LEPL1106')
  2. Click on the LEPL1106 class on your week schedule at the center and view the different options available for you to choose from; view the same options by clicking on the class in the top-right list (here by clicking on the 'FSA12BA' group and scrolling to the class), there are in this case way less options (namely no options for any TP)
  3. The TP's that are available with only one of the two methods are visible nowhere on the schedule, even if they are checked.

Expected behavior
Have the same available options with both methods, and have those options appear on the schedule when checked.

Screenshots of the issue
img1
img2

Desktop (please complete the following information):

  • OS: Windows 10 (Famille)
  • Browser: OperaGX
  • Version: LVL2 (core: 72.0.3815.473)

Smartphone (please complete the following information):
Not tested

Additional context
Add any other context about the problem here.

auto save ou pas ?

Is your feature request related to a problem? Please describe.
Often I add an event on my phone, forget to save and then it's not here when I look up on my computer

Describe the solution you'd like
Once a calendar has been saved, turn auto save on so that when I add a custom event I won't have to manually save it every time

Describe alternatives you've considered
An option to turn on or off autosave

Additional context
Add any other context or screenshots about the feature request here.

Adding Yellow color to respect third main color principe

This year I realize that I have meany type of events that I'd like to represent in the scheduler. During my management of my personal Agenda, I saw that there are 10 colors available in the app. Some colors are shade of others but I didn't found the yellow color.

In order to add the third primary color (Yellow) I try locally to add event with several shade of yellow and I found this type : Bright Yellow - #FFEA00 which the render is pretty nice. So I think that this color might be added in the back-end possibilities.

Of course I would be more than happy to do the changes suggested.

Thanks for your futur answer and your point of view on it.

Unified author names in commits

Hello all,

As we have seen, we all have multiple aliases in our commits, which makes statistics about who did what very unclear.
Moreover, it is likely to get worse as time goes on.

To solve this problem, I propose a to use a .mailmap file which should solve the problem of multiple aliases per author.

I have developed such solution in the authors branch.
As this solution needed a complete rewrite of the history, we cannot simply merge this branch onto the master one, but we have to create a new master branch. Further commits should be automatically renamed thanks to the .mailmap file.

Here is a summary of git shortlog -sne --all before/after.

From:

  1150  Gilles Poncelet <[email protected]>
   313  Jerome Eertmans <[email protected]>
   294  Gilles Poncelet <[email protected]>
   274  dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
   207  Louis Navarre <[email protected]>
   192  louisna <[email protected]>
   177  Gilles Poncelet <[email protected]>
   173  jeertmans <[email protected]>
   158  Gilles Poncelet <[email protected]>
   121  Eertmans <[email protected]>
    14  louisna <[email protected]>
    12  Jérome Eertmans <[email protected]>
    11  Jerome <[email protected]>
     2  Gilles Poncelet <[email protected]>
     1  Louis Navarre <[email protected]>

To:

  1781  Gilles Poncelet <[email protected]>
   630  Jerome Eertmans <[email protected]>
   414  Louis Navarre <[email protected]>
   274  dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

Better error message banners

Is your feature request related to a problem? Please describe.
The current error message banner that pops up on the website has it message hard-coded into the HTML pages.
This means the message will not change no matter what the error is.

Describe the solution you'd like
Errors that are raised by Python are handled via our error handlers, and we can give a better error message to be displayed.
The error message should be given by Python when possible.

This is already the case of errors related to ADE, but the message is not used.

bug date nouvel an

Erreur au niveau des dates lié au nouvel an (juste décembre et janvier) en affichage mensuel (voir colonne dimanche)
Le bug se corrige quand on zoome (ctrl + "+" ) ou dezoom mais réapparait quand on raffraichit la page

Side info :
navigateur utilisé : Brave version v1.46.144 (Dec 14, 2022)
image

French typos on Help and Contribute pages

Hello,

While browsing the project website I noticed several typos on the "Help" and "Contribute" pages/tabs in the french version. I won't quote all of them below but for example on the "Help" page there are: importer->importé, mise-à-jour->mise à jour, dans un délais->dans un délai, etc.

Obviously, I would be happy to correct these spelling mistakes.

Make the month/day a bit clearer when navigating on mobile

The problem

It's quite annoying when on mobile when you're either "Mois" is selected and you can't see the current month name, or "Jour" is selected and you can't see the current date:

image

image

Proposed solution

The current month or date could be added (depending on whether "Mois" or "Jour" is selected), instead of just the week count (S*) and the day of the week, e.g.:

image

(This could definitely be made to look 100 times better, but you get the idea.)

I don't mind implementing this myself as a PR!

As a sidenote, and this should perhaps be another issue, but it would also be nice to add the beginning & ending times of an event inside the little popup which appears when it's being clicked on, so as to tell a bit easier (OTOH, this may make that little popup a little too cluttered).

My (UCLouvain) OAuth

Is your feature request related to a problem? Please describe.
As discussed today, we should (rapidly) propose a way to login via the UCLouvain My API that we now have access to.

Describe the solution you'd like
Using Flask-Dance, we should provide a way to login via a global UCLouvain account.

At first, it would only add a secondary way to login, without any additional feature. A second step might be to only use this way to connect. However, I don't think we can maintain a session active for a very long time this way (?).

On the UI side, a simple button [connect with UCLouvain] might be a good start. Then, on the main page, it could be nice to mention that it is a UCLouvain account, to distinguish them ?

Add Master Thesis events

Describe the solution you'd like
As requested by a professor, it would be nice to list the master thesis oral schedules either on the main page or an alternative page, and be able to add a specific defense to one´s calendar.

I already have requested an API access to the EPL faculty thesis scheduler, see https://tfescheduler.info.ucl.ac.be/public/schedule.

Custom event editable

Is your feature request related to a problem? Please describe.
Sometimes when I create a custom event, I didn't input correctly the date and would like to edit it rather than delete and redo

Describe the solution you'd like
An edit button next to Delete

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Filtering events behaves weirdly when courses share same codes

Describe the bug
When you filter out some events from a course that contains codes A and B, then, if you also entered code B separately, all filters in code B will be reset. This is due to the reset_filters line:

https://github.com/SnaKyEyeS/ADE-Scheduler/blob/451066e6a215d13eae5112954f8b5231e6456b17/views/calendar.py#L365-L373

This line was used to avoid removing all filters one-by-one, but it seems to be needed anyway.

To Reproduce
Steps to reproduce the behavior:

  1. Add 'LMAT1101'
  2. Add 'LCHM1111'
  3. Filter out some events from 'LMAT1101' and apply changes
  4. Do the same for 'LCHM1111'
  5. Observe that the filters in 'LMAT1101' have been reset because 'LCHM1111' contains one event from 'LMAT1101', and vice-versa, which resets all the filters from it

Expected behavior
Filters should not be reset if it was not the intent.

New button for selecting or de-selecting all activities of one course

J’ai une petite proposition :

il serait possible d’ajouter un boutont « sélectionner tout » ou « dé-séléctionner tout » pour quand on clique sur un cours et qu’il comprend beaucoup d’activité et qu’on en veux qu’une seul ? Pcq au fur et a mesure de l’année des nouvelle activités s’ajoute (exam, …) et elle sont automatiquement ajouter à mon programme alors que je les veux pas donc je dois aller dé-séléctionner tout manuellement.

PS : Notez que c'est utile juste pour le cas particulier du tronc commun agro master qui est probablement mal encodé dans ADE ce qui fait que tout les cours de tout les master bioingé se mettent dedans alors qu'il devrait contenir seulement les cours du tronc commun. Le code cours du tronc commun est : BIRA21M_TC si vous voulez voir

image001

Update save to save across platforms and browser for a same account

It takes time to recreate the same schedule on each browser I use. It's frustrating especially when you use several OS on your computer and ADE-scheduler on your phone.

It would be interesting to save the schedule on the server to update the schedule on each browser at once.

Additional context
Add any other context or screenshots about the feature request here.

Missing details in some events

(this was created based on the request / question from the Prof. L. Jacques)
Is your feature request related to a problem? Please describe.
Some courses, such as LEPL1109, are missing some "important" informations in the event details, see example below: "TP classiques" are to be later distinguished from "Hackathon" etc.

MicrosoftTeams-image (5)
MicrosoftTeams-image (4)

Describe the solution you'd like
It would be good to include this information in the events, i.e., by improving the current information parser. The goal is to also keep a clean description without too much too read.

How to do that
Just change how the current parser works, see: https://github.com/SnaKyEyeS/ADE-Scheduler/blob/96eebdd961519d9752d67d68dd83308823bb431f/backend/ade_api.py#L608

Faster search-for-codes implementation

Is your feature request related to a problem? Please describe.
The current search engine we use for searching codes is quite slow: the response time is high and one user may need to wait a lot before first propositions appear.

Describe the solution you'd like
I think offloading the regex-like search to the browser, i.e., in JavaScript, might accelerate the research.

Replacing Travis CI

Travis CI is no longer 100% free for Open Source project (there is a credit limit, one which we will eventually reach at some point - after ~200 builds from this point).
Therefore, we should look to migrate from Travis CI to another alternative. As a few starting suggestions:

  • Circle CI (free credits each month, should be plenty enough for us)
  • GitHub Action (GHA) - is completely free and would perfectly suit our needs as far as I can see.

Colour assignation

Is your feature request related to a problem? Please describe.
I'm bulding my optimal schedule using groups of classes rather than individual classes, such as 'FSA12BA', 'FILIERE INFO 12' and 'FILIERE ELEC 12' in my case. Bulding my schedule for the 2nd quarter, I have now unchecked all the classes from the 1st quarter of 'FSA12BA'. However, they are still assigned a colour in the colour palette, and because there are too much classes in my schedule, there is a colour overflow and two of the classes I left checked now have the same colour.
img3

Describe the solution you'd like
Be able to assign a colour from the palette to a specific class. I do not mean change the colours available in the palette, as you can do in the 'Account' section, but rather be able to tell which class would get assigned to which available colour in the palette.

Describe alternatives you've considered
Unassign colours to totally unchecked classes, so that they leave some colours free for the actual checked and desired classes. This seemed more complicated though.

Additional context
This feature is not particularly important or crucial, as all I have to do to fix it is select individual classes rather than groups of classes, as to not overflow the palette.
Thanks a lot for your work !

Renaming schedule is counter-intuitive

Describe the bug
Currently, schedule names appeared to be changed when they are not, i.e., escaping edit mode does not apply changes unless we press Enter.

To Reproduce
Steps to reproduce the behavior:

  1. Go to account page
  2. Click to rename a schedule
  3. Escape edit mode by clicking outside the box
  4. Save changes
  5. Go to calendar page, see that the name has not changed

Expected behavior
The name should not appear to be changed when it is not the case, Currently, the only way to apply changes is to press Enter.
Maybe we can extend it.

Problème avec les jours

Describe the bug
Les jours indiqués en mode "mois" ne sont pas les memes que ceux en mode "semaine"
Capture d’écran 2021-05-21 132441
Capture d’écran 2021-05-21 132319

To Reproduce
Steps to reproduce the behavior:

  1. Aller sur la semaine actuelle
  2. Passer en mode mois
  3. Bouger entre les mois (les jours de la semaines ne changent pas

Expected behavior
Les semaines devraient changer

Desktop (please complete the following information):

  • OS: Windows
  • Browser Firefox
  • Version 88.0.1

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

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.