DualSchedule Builder este o aplicație web desktop concepută special pentru studenții înscriși simultan la două facultăți (ex: Automatică și Calculatoare - ACS + Științe Aplicate - FSA).
Aplicația oferă o interfață rapidă de introducere a cursurilor, detectează automat suprapunerile de ore, evidențiază ferestrele libere din orar pentru relocarea laboratoarelor și sincronizează rezultatul cu ecosistemul mobil (Android) și calendarele externe.
- Selecție Facultate „Sticky”: Alegi o singură dată facultatea (ACS / FSA / Opționale), iar câmpul rămâne presetat pentru introducerea în serie.
- Auto-Advance prin Tastatură: La salvarea unei ore (Enter), formularul avansează automat la următorul slot orar din zi.
- Când două activități sunt programate în același interval (ex: curs FSA suprapus cu laborator ACS), slotul este evidențiat cu alertă vizuală.
- Algoritmul prioritizează automat activitățile cu prezență obligatorie (Laboratoare/Seminarii față de Cursuri) și permite inversarea priorității cu un singur click.
- Toate intervalele disponibile sunt marcate vizual cu
🟢 Liber. - Făcând click pe un slot liber, formularul se pre-completează automat cu acea zi și oră pentru a muta cu ușurință o activitate cu o altă grupă.
- Sincronizare Cloud PythonAnywhere: Trimitere 1-click a orarului către serverul centralizat (
/api/orar). - Export & Import JSON: Încărcare și descărcare directă a fișierelor
orar.jsondin calculator. - Export iCalendar (.ics): Generează un fișier de calendar standard compatibil cu Google Calendar, Outlook și Apple Calendar, cu calcul automat al recurenței pe 14 săptămâni și parității.
- Sincronizare Locală Android: Exportă direct în folderul
assets/al proiectului Android de pe același calculator.
Acest proiect a fost conceput, structurat și dezvoltat în regim de pair-programming asistat de Inteligență Artificială (Google DeepMind Antigravity / Gemini).
Rolul AI-ului în proiect:
- Generarea arhitecturii serverului Flask și a API-ului REST.
- Scrierea logicii de generare a evenimentelor recurente conform specificației RFC 5545 (iCalendar
.ics).- Implementarea scriptului de sincronizare automată prin API-ul PythonAnywhere (
deploy_pa.py).- Crearea interfeței web responsive Dark Theme în HTML5/CSS3.
Rolul uman:
- Formularea cerințelor operaționale pentru gestionarea orarului dublu.
- Testarea fluxurilor de utilizare și direcționarea modului de relocare a orelor.
- Descarcă sau clonează depozitul:
git clone https://github.com/tgnfrzt/GeneratorOrare_Python.git
- Fă dublu-click pe
start.bat. - Scriptul va verifica existența Python, va instala automat pachetele necesare (
Flask,flask-cors) și va deschide browserul la adresa:http://127.0.0.1:5000
# Instalare dependențe
pip install -r requirements.txt
# Pornire server
python app.pyD:/orar-generator/
├── app.py # Server Flask & rute REST API
├── requirements.txt # Dependențe Python
├── start.bat # Script automat de lansare pentru Windows
├── data/
│ ├── orar.json # Orarul curent salvat
│ └── default_orar.json # Șablon orar de rezervă
├── templates/
│ └── index.html # Interfață web modernă
└── static/
├── css/style.css # Stiluri Dark Theme & Print
└── js/app.js # Logică interactivă client
Acest proiect este licențiat sub licența MIT.