Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow automatic shift exchanges #57

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

ruioliveira02
Copy link

Closes #12 .

To compute the possible matches between students, this service was used.

A student, when requesting an exchange, can select the shift they would like to move to - the student cannot have a pending exchange request for that course.

When that choice is made, the full set of pending requests for that course is sent to the solver service. Whilst waiting for a response, those rows in the DB are locked as to prevent data races.

The solver returns the set of possible exchanges (which can involve multiple students). Swap then proceeds to change the students' enrollments accordingly, and removing the pending exchanges from the DB.

The only modification to the data model that was made was allowing enrollments to have a null student id. If an exchange is to an enrollment which has a null student, it is treated as an automatic exchange. The same applies for the logging table.

I would like to thank everyone (@lumafepe, @raddrax, @nelsonmestevao) who contributed to this improvement 馃檹

ruioliveira02 and others added 4 commits May 27, 2022 10:09
* Added configuration for vagrant box

* Updated documentation for new build process

* Add bootstrap to setup process

* Add virtualbox reference

Co-authored-by: Rui Oliveira <rpoliveira02@gmailcom>
* Adapt exchanges table to new format

* Tweak style of exchanges table
* Updated documentation for new build process

* added function to support the new exchanges

* added a way to create autoExchanges and perform them without dataraces

* removed issue of non deleted temporary enrollment

* removed some errors

* problems solved

* front-end for the automatic exchange

* Delete NoExchangesCanBeDone.php

* Update ExchangeController.php

* Update Enrollment.php

* Update readme.md

* Update Enrollment.php

* Update Enrollment.php

* Update Enrollment.php

* Update Enrollment.php

* Update Enrollment.php

* Update app/Http/Controllers/EnrollmentAutomaticExchangeController.php

Co-authored-by: Rui Oliveira <70754369+ruioliveira02@users.noreply.github.com>

* Update readme.md

Co-authored-by: Rui Oliveira <70754369+ruioliveira02@users.noreply.github.com>

* Update resources/assets/js/components/modals/DeleteExchangeModal.vue

Co-authored-by: Rui Oliveira <70754369+ruioliveira02@users.noreply.github.com>

* added to the env the url to the solver

Co-authored-by: Rui Oliveira <rpoliveira02@gmailcom>
Co-authored-by: Rui Oliveira <70754369+ruioliveira02@users.noreply.github.com>
* added a way so that automatic and normal exchanges show in diferent ways in the dashboard

* fixed an issue where the shift select component wouldn't show up

* npm audith
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: allow pending requests for shift exchanges
3 participants