Smart Course Schedule Editing Module for Telegram Bot (Python + PostgreSQL)

Job ID: 39419369

Budget: $30 – $250 USD

Project Overview:

We are looking for an experienced Python developer with strong expertise in PostgreSQL and Telegram Bot development, to build a standalone module for processing course schedule modification requests in an academic bot.

Important:
The bot interface, messages, buttons, emojis, and all user interaction — including registrar dashboards and generated reports — are fully in Arabic.
The delivered module must support Arabic content and formatting.



Module Features:

1. Drop Registered Course
• Remove a registered course from a student’s schedule.
• If the course has linked sections (e.g., lecture + lab) or multiple weekly meetings, all related sections must be dropped together.
• The request is stored in the schedule_requests table with status “قيد المراجعة” (Pending Review in Arabic).

2. Change Section for Registered Course
• Show available alternative sections for the same course.
• Validation includes:
• No time conflict (mandatory)
• Available capacity (flexible)
• Linked section validation (mandatory)
• If no section passes the checks:
• Trigger the Deep Search Algorithm to suggest replacing up to 3 other sections to resolve the conflict.

3. Add New Course (from remaining)
• Ensure the course is not currently registered.
• Check prerequisite completion from the training plan (in Arabic).
• Find valid sections with:
• Capacity
• No time conflict
• Linked section pairing
• If no section fits:
• Use deep search to free time slots by adjusting registered courses.



Deep Search Logic:
• Activated when no direct section can be assigned.
• Evaluates the full schedule.
• Suggests up to 3 changes in current registrations.
• Maintains:
• Arabic course data integrity
• Linked section dependencies
• Capacity limits
• One open request per student only



Registrar Workflow (Arabic Dashboard):
• Requests are not auto-executed. All are logged with Arabic labels and statuses (e.g., “قيد المراجعة”).
• A registrar dashboard (لوحة تحكم المسجلين) handles:
• Viewing requests
• Filtering by college/major
• Approving or rejecting through Arabic buttons in the bot
• Reports (PDF or Excel) are auto-generated and fully in Arabic, including:
• Student name, ID
• Type of request
• Course and section (اسم المقرر، رقم الشعبة)
• Notes from deep search if applied
• Registrar updates request status through Arabic UI in the bot:
• “تم التنفيذ” (Approved)
• “مرفوض” (Rejected)
• “بانتظار” (On Hold)



Additional Requirements:
• Students cannot submit another request if one is pending.
• Once approved, system updates:
• Student’s registered courses
• Remaining courses
• Students can track status of their request via Arabic bot interface.
• All bot messages, icons, and buttons are in Arabic.



What You Will Receive:
• Sample mock databases in Excel — fully labeled in Arabic.
• Diagrams and notes to explain data structure.
• Selected bot files relevant for integration (Arabic content).



Deliverables:
• Well-structured Python code (modular and maintainable)
• Secure PostgreSQL queries (parameterized)
• Arabic-compatible messages and logic
• Code documentation + brief README
• Script for exporting Arabic-language reports (CSV/PDF)
• The code must integrate with our existing Arabic-language Telegram bot, and the developer is expected to ensure compatibility.