Why?

Jadawil was made because its creator got tired of manually making a schedule every semester. As you know, that usually involves:

  1. Visiting eServices and searching for each course,
  2. Writing down the times and dates for each section of each course,
  3. Checking and double-checking whether any conflicts exist,
  4. And finally, after at least an hour, ending up with a workable schedule.

Jadawil reduces the laborious process outlined above into two steps:

  1. Input the codes of the courses you'd like to take into the page.
  2. Hit the "Submit" button.

Initial Plan

Before creating Jadawil, my aim was to create a unified set of tools (Adawat) for UAEU students. This included Jadawil, a better course search engine, schedule recommendations from similar students, and more. Unfortunately the university was not interested, so I just made Jadawil.

Tech

Jadawil is written in Python and relies heavily on the Flask web framework. Flask basically allows the app to have an organized web interface. The website is hosted on Heroku as you may have noticed from the free URL.

So, how does it get the course information? I've written a separate program that uses my UAEU details to login to eServices, searches for ALL courses, and saves the resulting page to HTML. The HTML is then parsed using a complex set of rules (thanks eServices guys!) and the course data is finally saved in a friendly, fast, and easy to access format (Python pickle). I run this program manually whenever I feel the need to. It could have been automated, but I'm afraid of UAEU banning me if they catch regular logins from my username.

Jadawil has been actively developed and tested (by myself at least) for the past two years. You can view the source code for a version of Jadawil from last year on Github.

Wanna Help?

I absolutely suck at anything design related. If you'd like to help with layout (HTML/CSS), color palettes, or logo design, please contact me on Twitter.

If you're interested in heavily testing the app (and breaking it!), feel free to contact me.

Need Help?

If you're working on something in Python, C/C++, Java, Scala, or JavaScript, reach out on Twitter and I'll see what I can do to help. I will not solve your homework or do your projects.

Created by Assil Ksiksi, a proud alumnus of Electrical Engineering @ UAEU.