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_URL
and COOKIE_KEY
present in config.py
- Login to RIT Etlab portal
- View attendance details
- Access timetable information
- Retrieve basic profile information
- View present attendance information
- View absent attendance information
-
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
-
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.py
The API will be accessible at
http://127.0.0.1:5000/
by default.
For detailed information on API endpoints and usage, refer to the Swagger Documentation.
- The API relies on web scraping and may encounter issues if the structure of the RIT Etlab portal changes.
The API is deployed at https://rit-etlab-api.onrender.com/apidocs. Visit the deployment for live usage.
Monitor the API's availability in real-time using Uptime Robot Status Page.
Feel free to contribute to the development of this API. Fork the repository, make your changes, and submit a pull request.
This project is licensed under the GPL 3.0 License.