ABES GO is an advanced college timetable management system designed to streamline faculty scheduling, duty allocations, and workload optimization.
Built with a hybrid architecture of Python and Next.js, it transforms complex Excel schedules into an interactive, date-aware dashboard for administrators and faculty.
The system follows a reactive data pipeline, moving from unstructured Excel files to an optimized web interface:
graph TD
A[Individual TT Format.xlsx] -->|Python Parser| B(read_excel2.py)
B -->|Structured Export| C[src/lib/timetable_data.json]
C -->|Hook / API| D[Next.js Frontend]
D -->|Internal Logic| E{Duty Recommender}
E -->|Output| F[Dashboard UI]
subgraph "Backend Processing"
A
B
end
subgraph "Frontend Engine"
C
D
E
F
end
- Excel Parser (Python): Uses
pandasandopenpyxlto extract complex timetable grids. - Logic Layer (TypeScript): Located in
src/lib/data.ts, it calculates real-time workload scores and "heavy duty" statuses. - Modern UI (Next.js): A premium, glassmorphic interface for managing schedules and viewing faculty load.
- Node.js: v18 or higher.
- Python: 3.8 or higher (with
pandasandopenpyxl).
cd time-table-next
npm install
npm run devTo refresh the timetable data from the Excel master file:
-
Ensure the
.xlsxfile is in the root directory. -
Use the Sync feature in the web dashboard (which calls the
/api/sync-excelendpoint). -
Alternatively, run the script manually:
python read_excel2.py
- Real-time Availability: Instantly see who is free for a specific time slot.
- Workload Scoring: Automated calculation of teaching load (Lectures, Tutorials, Practicals).
- Duty Recommendations: Smart suggestions for faculty duties based on current availability and cumulative stress levels.
- Glassmorphic Design: A premium dark-mode interface for better user experience.
This project is open for collaboration! If you are working on the project:
- Update the Excel Master file as needed.
- Run the Python sync script to update the JSON data store.
- Implement UI features in
src/app.