https://github.com/iiumschedule/albiruni-api
Experimental Rest API for IIUM Albiruni Course Timetable
https://github.com/iiumschedule/albiruni-api
fast-api iium iium-schedule
Last synced: 3 months ago
JSON representation
Experimental Rest API for IIUM Albiruni Course Timetable
- Host: GitHub
- URL: https://github.com/iiumschedule/albiruni-api
- Owner: iiumschedule
- Created: 2023-03-15T08:47:54.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-05-20T09:07:05.000Z (11 months ago)
- Last Synced: 2025-05-20T10:25:54.117Z (11 months ago)
- Topics: fast-api, iium, iium-schedule
- Language: Python
- Homepage: https://albiruni.up.railway.app/
- Size: 83 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README


# Albiruni API Server
>**Warning** This project is EXPERIMENTAL
REST API Server for IIUM Course Browser: https://albiruni.iium.edu.my/myapps/StudentOnline/schedule1.php
## Features
- [x] REST API access to IIUM Course Browser
- [x] Redis for caching and faster responses
- [x] Search for exam date
- [ ] Search subject
## Database
### For subjects
All subjects are fetched and saved in https://github.com/iqfareez/albiruni_fetcher/tree/master/db
### For exams
Exams are downloaded from https://www.iium.edu.my/division/amad/academic-calendarimportant-dates. Then, parsed manually and saved
to Excel file. See the files in the `db` folder.
## Installation
```bash
pip install -r requirements.txt
uvicorn main:app --reload
```
## Docker
You can run the API and Redis using Docker Compose:
```bash
docker-compose up --build
```
The API will be available at [http://localhost:8000](http://localhost:8000).
Environment variable `REDIS_URL` is set automatically for the API service.