Skip to content

ang3lo-azevedo/ist-fenix-auto-enroller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IST Fenix Auto Enroller

Desktop Python app for searching, planning and enrolling in IST courses on FenixEdu. It combines an API client, a Tkinter GUI and Selenium automation to build schedules and complete enrollment.

image image

Highlights

  • Search courses by name, code, or acronym
  • Auto-detect shift types from schedule data
  • Build unified schedules for multiple courses
  • Time conflict detection
  • Selenium-based automatic enrollment
  • Persisted configuration (config.json)

How to install

Choose one of the options below.

Option A - GitHub Releases (recommended)

  1. Download the latest release for your OS.
  2. Extract the archive.
  3. On Linux, make the file executable, then run it. Example (replace with the actual file name):
    chmod +x ist-fenix-auto-enroller
    ./ist-fenix-auto-enroller
  4. On macOS/Windows, run the executable normally.

Latest release: https://github.com/ang3lo-azevedo/ist-fenix-auto-enroller/releases

Option B - Nix

  1. Run directly or enter a dev shell.
nix run

or

nix develop
python3 main.py

Option C - Python source

  1. Clone this repository.
  2. Install dependencies.
  3. Run the app.
python3 -m pip install selenium requests beautifulsoup4
python3 main.py

How to use

  1. Select your current semester, year and degree.
  2. Search and select the courses you want.
  3. Click [Build] Build Schedule and pick the shifts from both periods.
  4. Add shifts to the enrollment queue.
  5. Login and start enrollment.

Project structure

  • main.py Entry point
  • config.json Persisted configuration
  • src/api.py Fenix API client
  • src/bot.py Selenium automation
  • src/gui/ Tkinter UI components
  • src/utils.py Utilities for shift detection and scheduling

Configuration

Default settings are stored in config.json. Update it manually or let the app persist changes.

Notes

  • This project automates a web flow and may break if FenixEdu changes its UI.
  • Use at your own discretion and verify results before final submission.

Credits

About

Desktop Python app for searching, planning, and enrolling in IST courses on FenixEdu. It combines an API client, a Tkinter GUI, and Selenium automation to build schedules and complete enrollment.

Topics

Resources

Stars

Watchers

Forks

Contributors