rit-etlab-api
rit-etlab-api copied to clipboard
Unoffical API for ETLab portal so that you can make all the cool stuff
RIT Etlab Portal API
Unofficial API for accessing useful data for students from the RIT Etlab portal. This API allows you to perform actions such as login, logout, view attendance, access timetable, retrieve basic profile information, and more.
[!NOTE] This API relies on web scraping techniques and may be subject to potential bugs if the structure of the RIT Etlab portal changes.
[!TIP] Even though this project was made specifically for RIT Etlab portal, this project could be used for any Etlab implementations by making required changes to the
BASE_URLandCOOKIE_KEYpresent inconfig.py
Table of Contents
- Features
- Installation
- With Docker
- Without Docker
- Usage
- Documentation
- Known Issues
- Deployment
- Availability
- Contributing
- License
Features
- Login to RIT Etlab portal
- View attendance details
- Access timetable information
- Retrieve basic profile information
- View present attendance information
- View absent attendance information
Installation
With Docker
-
Ensure you have Docker and Docker compose installed on your machine.
-
Clone the repository:
git clone https://github.com/devadathanmb/rit-etlab-api.git -
Navigate to the project directory:
cd rit-etlab-api/ -
Build and run the docker container
docker compose up -
That's it. The API would be live now. Check the status using
curl http://localhost:5000/api/status
Without Docker
-
Clone the repository:
git clone https://github.com/devadathanmb/rit-etlab-api.git -
Navigate to the project directory:
cd rit-etlab-api -
Create and activate a virtual environment (optional):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python run.pyThe API will be accessible at
http://127.0.0.1:5000/by default.
Usage
For detailed information on API endpoints and usage, refer to the Swagger Documentation.
Known Issues
- The API relies on web scraping and may encounter issues if the structure of the RIT Etlab portal changes.
Deployment
The API is deployed at https://rit-etlab-api.onrender.com/apidocs. Visit the deployment for live usage.
Availability
Monitor the API's availability in real-time using Uptime Robot Status Page.
Contributing
Feel free to contribute to the development of this API. Fork the repository, make your changes, and submit a pull request.
License
This project is licensed under the GPL 3.0 License.