A modern Chrome extension assistant designed to streamline the student experience on the AIUB Portal.
Repository: ABiR994/AIUB-PortalX
-
Smart Routine & Holiday Alerts
A personalized dashboard that greets you based on the time of day and provides pulsing alerts for university holidays, helping you plan your week at a glance. -
Advanced Course Advisor
Plan your degree with a three-tier system: Suggested, Enrolled, and Finished. Now features multi-program support (CSE/EEE) and intelligent detection for Recommended Retakes. -
Experimental Auto-Login Engine (Beta)
Note: This feature is currently in active development and may be unstable.- Intelligent OCR Race Mode: Simultaneously races a local CV engine against Cloud Inference for maximum potential accuracy.
- Fail-Safe Architecture: Designed with a "Zero-Loop" mechanism to prevent infinite retry cycles if login fails.
- Structural Analysis: Uses region sampling to attempt CAPTCHA resolution, though manual intervention may still be required.
AIUB-PortalX/
├── public/ # Static assets (icons, tesseract, wasm)
├── src/ # Source code
│ ├── assets/ # Global styles
│ ├── background/ # Background service worker
│ ├── components/ # React UI components
│ ├── content-scripts/ # Auto-login & content injection
│ ├── services/ # Core logic (Portal, OCR, Solver)
│ ├── store/ # Zustand state management
│ ├── types/ # Type definitions
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── .gitignore
├── index.html
├── LICENSE
├── manifest.json
├── package.json
├── postcss.config.cjs
├── tailwind.config.cjs
├── tsconfig.json
└── vite.config.ts
| Layer | Technology |
|---|---|
| Framework | React 19 + Vite |
| Logic | TypeScript |
| Styling | Tailwind CSS v4 |
| State | Zustand (Persistent) |
| OCR Engine | Tesseract.js (Local Workers) |
| Cloud Solver | Hugging Face Inference API |
| Build Tool | CRXJS Vite Plugin |
- Download the Extension: Go to the Releases page and download the
AIUB-PortalX.zipfrom the latest version. - Unzip the File: Extract the downloaded
.zipfile to a folder on your computer. - Open Chrome Extensions: In your browser, go to
chrome://extensions/. - Enable Developer Mode: Toggle the switch in the top-right corner.
- Load the Extension: Click Load unpacked and select the folder you just unzipped.
-
Clone the repository:
git clone https://github.com/ABiR994/AIUB-PortalX.git cd AIUB-PortalX -
Install dependencies:
npm install
-
Development Mode: Launch with Hot Module Replacement (HMR):
npm run dev
-
Production Build: Generate an optimized, minified bundle:
npm run build
-
Load the Extension:
- Open Chrome and navigate to
chrome://extensions/. - Enable Developer Mode.
- Click Load unpacked and select the
distfolder.
- Open Chrome and navigate to
PortalX is built with a modern, reactive architecture for long-term maintainability:
AppStore: A unified Zustand store managing global state and Chrome Storage persistence.PortalService: A robust DOM-scraping layer designed to extract clean data from the complex portal structure.Gatekeeper: A specialized content-script engine that handles OCR race conditions and image validation.UI Components: Modular React components styled with Tailwind for conflict-free isolation.
This project is a standalone evolution (v3) of the original AIUB_Portal_helper by sajedulsakib001.
Architected and developed using Antigravity and OpenCode, leveraging advanced agentic coding workflows to ensure clean code, efficient logic, and a refined user experience.
Distributed under the MIT License. See LICENSE for the full text.
⚡ Automate. Organize. Excel. Master the Portal.