Automates University Of Ghana's STS course evaluations and exam check-ins, streamlining mandatory semester activities.
# π STS Course Evaluation & Exam Check-In Bot
## Overview
This project automates the **STS course/lecture evaluation process** and the **mandatory exam check-in** activity for students.
Every semester before exams, students are required to complete these tasks manually β this script streamlines the process to save time and effort.
The automation is **partially supervised**, meaning you still get to review and approve submissions before they are finalized.
---
## π Project Structure
```
.
βββ main.py # Main entry point β runs both evaluation and check-in bots
βββ evaluation_bot.py # Handles the course/lecture evaluation process
βββ checkin_bot.py # Handles the exam check-in process
βββ utils.py # Shared helper functions
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ .env # Environment variables (not tracked in Git)
```
---
## π How It Works
### 1. **Evaluation Phase**
- Logs into the STS portal with your credentials.
- Navigates through courses that require evaluation.
- Automatically fills out the form fields based on predefined logic.
- **Stops before submission** β so you can:
- Review the evaluation in your browser.
- Manually click the **Submit** button.
- After submission, return to the terminal and **press ENTER** to continue.
- If a course has **multiple lecturers**, you will be prompted to select the correct lecturer number.
### 2. **Check-In Phase**
- After all evaluations are completed, the bot logs out.
- It then initiates the **exam check-in** process.
- Checks in for all eligible courses automatically.
---
## π¦ Installation
1. **Install dependencies**
```bash
pip install -r requirements.txt
```
2. **Create a `.env` file** in your project root:
```env
STS_USERNAME=your_student_id
STS_PASSWORD=your_student_password
```
3. **Run the automation**
```bash
python main.py
```
---
## π Notes
- **Human review is still required** β for now, y β¦