Web Technologies

Hey there! From February till June I teach Web development laboratories at the local Computer Science faculty . Topics include:


For week'to'week exercises we're using DevDrive.io, an app designed and built by myself to make the entire teaching experience a little better. If you find it useful, feel free to use it :)


  1. GaSM (Garbage Smart Monitor) / M

    Să se creeze o aplicație Web capabilă, pe baza unui API REST/GraphQL propriu, să gestioneze informațiile privitoare la colectarea, sortarea și reciclarea gunoiului – pe categorii: menajer, hârtie, plastic etc. – la nivelul cetățeanului, personalului autorizat și factorilor de decizie.

    Se va oferi suport pentru raportarea de către utilizatori a locurilor unde s-a acumulat o cantitate substanțială de gunoi, în vederea descongestionării. Pe unitate de timp (zi, săptămână, lună), vor fi generate rapoarte numerice și grafice – disponibile în formatele HTML, CSV și PDF – referitoare la situația actuală la nivel de cartier/localitate, evidențiindu-se zonele cele mai curate/mizere.

    Interacțiunea cu utilizatorul va respecta principiile designului Web responsiv. Sistemul va oferi suport și pentru inițierea unor campanii de sensibilizare a locuitorilor privitoare la colectarea selectivă a gunoiului și a raportării incidentelor vizând depozitarea neadecvată a acestuia.

  2. RUnDa (Romanian Unemployment Data Visualizer) / M

    Recurgând la un API REST/GraphQL propriu, să se realizeze un instrument Web de vizualizare și de comparare multi-criteriala (pe județe, nivel de educație, grupe de vârstă, mediu, perioadă de timp etc.) a datelor publice referitoare la șomajul din România pe ultimele 12 luni.

    Statisticile, plus vizualizările generate – minim 3 maniere, plus cele cartografice pe baza unor servicii Web specializate – vor putea fi exportate în formatele CSV, XML, SVG si PDF.

    Resurse suplimentare despre vizualizarea datelor: https://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html#week4.

  3. HTCP (HTML & CSS Practice) / M

    Sa se creeze o platforma Web ce ajuta cu exersarea cunostintelor de HTML si CSS. Dupa autentificarea cu o retea sociala la alegere (GitHub, Facebook, Twitter, etc), aplicatia va pune la dispozitia utilizatorilor, printr-o interfata atractiva, nivele cu diverse provocari, unde acestia vor trebui sa scrie cod pentru a trece mai departe.

    Aplicatia va salva progresul fiecarui utilizator, acesta putand continua de unde a ramas, mai tarziu. In plus, aceasta va oferi statistici, referitoare la clasamentele globale cat si pentru fiecare utilizator in parte. De asemenea, platforma va expune si un API REST/GraphQL prin care alte aplicatii vor putea prelua in format JSON sau XML atat provocarile, cat si raspunsurile corecte.

    Inspiratie: Flexbox Froggy & CSS Grid Garden

  4. BoRe (Book Reviewer) / B

    Se dorește crearea unei aplicatii Web care permite specificarea progresului și exprimarea opiniilor/adnotărilor referitoare la lecturile realizate de o persoană sau grup de persoane (e.g. o clasă de elevi, club de lectură).

    Sistemul va realiza managementul cărților parcurse, inclusiv organizarea lor pe diverse criterii: categorie, autor, editură, an, ediție, legături cu alte cărți înrudite etc. Se vor oferi statistici diverse ce pot fi exportate în formate deschise (minimal, CSV și DocBook). Diversele anunțuri (o persoană a recenzat o carte, a apărut un alt volum de interes, modificarea clasamentului celor mai apreciate lucrari dintr-un anumit domeniu etc.) vor fi expuse ca flux de știri RSS.

    Inspiratie: Good Reads.

  5. PoNE (Polish Notation Web Editor) / B

    Să se implementeze o aplicație Web cu caracter educațional menită a descrie, a evalua și explica în manieră vizuala o expresie matematică in notație poloneza pre/postfixată.

    De exemplu, expresiei 1 + 30 * π îi corespunde expresia în forma poloneză prefixată + 1 * 30 3.14159265. Parantezele sunt permise. De asemenea, se va oferi suport pentru modelarea/editarea de operații matematice uzuale.

    Sistemul va pune la dispoziție o serie de exemple predefinite și de exercitii, plus va facilita comentarea acestora. Detalii de interes: Postfix Notation Mini-Lecture.

    Bonus: recurgerea la formatele MathML si SVG.

  6. CloMaT (Clothing Matcher Tool) / B

    Să se conceapă o aplicație Web capabilă să furnizeze utilizatorilor (autentificati sau nu) sfaturi referitoare la asortarea – cromatică, pe baza materialelor și/sau a stilului personal – a garderobei proprii (piese de îmbrăcăminte și de încălțăminte, plus accesorii) si a rudelor apropiate, in funcție de sezon, moment al zilei, eveniment, factori culturali și alte restrictii specifice (dress code).

    Se vor pune la dispoziție garderobe predefinite – editabile și preluate din surse externe (se va implementa suportul pentru import al datelor disponibile în format JSON și XML). Sistemul va realiza, de asemenea, managementul utilizatorilor și a regulilor de asortare vestimentară la nivel de individ sau grup.

  7. NumAX (Numismatic Artefact Explorer) / B

    Să se dezvolte o aplicație Web destinată colecționarilor de monede. Pe baza facilităților de căutare multi-criteriala implementate, utilizatorii autentificați vor putea crea, inventaria și partaja informații despre monede de interes în functie de diverse caracteristici (imagine, valoare, țară, perioadă de emisie, istoric etc.), plus vor putea importa/exporta datele referitoare la monedele deținute.

    Se vor genera statistici diverse ce pot fi exportate în formate deschise – minimal, CSV si PDF. Se va crea, de asemenea, un clasament al celor mai populare emisii monetare, disponibil și ca flux de date RSS. Inspiratie: Numista.

    Bonus: utilizarea datelor RDF oferite de nomisma.org.

...