An open API service indexing awesome lists of open source software.

https://github.com/iivexii/lgu-timetableapi

Unofficial API for the timetable of Lahore Garrison University which uses its own internal caching system to serve its users with fast response.
https://github.com/iivexii/lgu-timetableapi

api express expressjs good-first-issue good-first-pr help-wanted javascript lahore-garrison-university lahore-garrison-university-timetable lgu lgu-timetable lgu-timetable-api node nodejs timetable-api timetable-lgu

Last synced: 14 days ago
JSON representation

Unofficial API for the timetable of Lahore Garrison University which uses its own internal caching system to serve its users with fast response.

Awesome Lists containing this project

README

          

# ⚠ No longer maintained ⚠ check out [new APIS](https://lgutimetable.vercel.app/developer)

```diff
+ This repository is still worth checking if you want to scrap data on your own
```




Lahore Garrison University


Timetable API


Blazingly fast, lightweight and easy to use.


Node 18.7.0










Key Features
How To Use
Download
Routes
Technologies
Used By
Contributors
License

## Key Features

- 📑 Provide data in **JSON**
- 🤝 APIs for all the important data like `semesters`, `degrees`, `sections` and `timetable`
- ⚡ Fast and easy to use
- 🔻 ligneweight with avg response size of `633.38 bytes` per request

## How To Use

To clone and run this application, you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line:

```bash
# Clone this repository
$ git clone https://github.com/IIvexII/LGU-TimetableAPI.git

# Go into the repository
$ cd LGU-TimetableAPI

# Install dependencies
$ npm install

# Run the app
$ npm start
```

> **Note**
> If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt.

## Download

You can [download](https://github.com/IIvexII/LGU-TimetableAPI/releases) the latest installable version of Timetable API for Windows, macOS and Linux.

## Routes

| Method | Route | Special Params | Description | Example |
| ------ | :----------: | :-----------------------------: | :----------------------------------------------------------: | ------------------------------------------------------------------------------------- |
| GET | `/semesters` | \_ | return a **JSON** Object containing semesters. | [demo](https://lgu-timetable-api.deta.dev/semesters) |
| GET | `/degrees` | `semester` | all the degree programs in a specific semester. | [demo](https://lgu-timetable-api.deta.dev/degrees?semester=5) |
| GET | `/sections` | `semester`,`degree` | all the section in a semester with via degree program. | [demo](https://lgu-timetable-api.deta.dev/sections?semester=1&degree=BSCS) |
| GET | `/timetable` | `semester`, `degree`, `section` | all the degree programs in a specific semester. | [demo](https://lgu-timetable-api.deta.dev/timetable?semester=3&degree=BSCS&section=A) |
| GET | `/metadata` | \_ | all the metadata about `sections`, `semesters` and `degrees` | [demo](https://lgu-timetable-api.deta.dev/metadata) | |
| GET | `/days` | \_ | return all days of week with their id used in official timetable| [demo](https://lgu-timetable-api.deta.dev/days) | |
| GET | `/rooms` | \_ | return all rooms available in the university | [demo](https://lgu-timetable-api.deta.dev/rooms) | |
| GET | `/freeRooms` | `day`, `time` `(both optional)` | give the rooms that doesn't not have lecture in it | [demo](https://lgu-timetable-api.deta.dev/freeRooms?day=Monday&time=12:40) |
## Technologies

Technologies used in this project:

[](https://nodejs.org/)
[](https://expressjs.com/)
[](https://github.com/jsdom/jsdom)
[](https://mongodb.com/)
[](https://mongoosejs.com/)
[](https://axios-http.com/)

## Used By

[LGU Timetable Front-end](https://github.com/Zain-ul-din/LGU-BetterTimeTable) - Lightweight timetable frontend on top of this API.

## Our Contributors




This repository is maintained by IIvexII


Show some ❤️ by starring this awesome repository!


## License

MIT - ✔️ Commercial use ✔️ Modification ✔️ Distribution ✔️ Private use