Exerciศiu Seminar:
Portofoliu personal cu DOM Manipulation ศi GitHub
Obiectiv general
Studenศii vor crea pagini personale dinamice folosind HTML, CSS, JavaScript ศi GitHub, consolidรขnd cunoศtinศele de manipulare DOM ศi colaborare prin Git.
Structura proiectului
web-portfolio-2025/
โ
โโโ index.html # Pagina principalฤ (catalog studenศi)
โโโ main.css # Stiluri pentru pagina principalฤ
โโโ main.js # Script pentru pagina principalฤ
โโโ students.json # JSON master cu lista studenศilor
โ
โโโ students/ # Folder pentru paginile individuale
โโโ popescu-ion/
โ โโโ index.html
โ โโโ styles.css
โ โโโ script.js
โ
โโโ ionescu-maria/
โ โโโ index.html
โ โโโ styles.css
โ โโโ script.js
โ
โโโ ... (alte foldere studenti)Cerinศe pentru fiecare student
1. Crearea paginii personale
Fiecare student va crea un folder รฎn students/ cu structura:
Nume folder:
prenume-nume(lowercase, cu cratimฤ, fฤrฤ diacritice)Exemplu:
popescu-ion,ionescu-maria
2. Structura JSON personalฤ (Hardcoded รฎn script.js)
script.js)Cerinศe JSON:
Minimum 3 niveluri de nested objects (exemplu:
studentData.personalInfo.firstName)Cel puศin 2 arrays cu obiecte (exemplu:
skills,projects)Proprietatea
avatartrebuie sฤ foloseascฤ un generator automat:UI Avatars:
https://ui-avatars.com/api/?name=Prenume+Nume&size=200DiceBear:
https://api.dicebear.com/7.x/initials/svg?seed=PrenumeNumeRoboHash:
https://robohash.org/PrenumeNume.png?size=200x200
3. Fiศierul index.html (template minimal)
index.html (template minimal)Cerinศฤ importantฤ: Tot conศinutul paginii trebuie generat dinamic prin JavaScript!
4. Fiศierul script.js (Manipulare DOM)
script.js (Manipulare DOM)Cerinศe obligatorii:
Cerinศe tehnice pentru script.js:
Minimum 5 tipuri diferite de elemente HTML create dinamic
Folosirea
createElement,appendChild,textContent,innerHTMLSetarea
classNamesauclassListpentru stilizareIterare prin arrays cu
forEachsaufor...ofAcces la proprietฤศi nested din JSON (ex:
studentData.personalInfo.firstName)Cel puศin 1 event listener (exemplu: click pe proiect, hover pe skill)
5. Fiศierul styles.css
styles.cssCerinศe obligatorii:
Layout responsive (mobile-first cu media queries)
Stilizare pentru toate clasele folosite รฎn JavaScript
Minimum 3 culori coordonate (folosiศi CSS variables)
Avatar rotund cu
border-radius: 50%
Exemplu de structurฤ:
Cerinศe pentru Pagina Principalฤ (catalog)
Responsabil: Un student voluntar
1. Fiศierul students.json (root), actualizat de studentul voluntar la fiecare pull request
students.json (root), actualizat de studentul voluntar la fiecare pull request2. Fiศierul index.html (root)
index.html (root)3. Fiศierul main.js (root)
main.js (root)Workflow GitHub
Pasul 1: Iniศializare Repo (Student voluntar)
Pasul 2: Fork ศi Clone (fiecare student)
Fork repo-ul principal pe contul propriu GitHub
Clone fork-ul local:
Pasul 3: Creare Branch ศi dezvoltare (student)
Pasul 4: Pull Request (student)
Acceseazฤ fork-ul pe GitHub
Click pe "Compare & pull request"
Titlu:
Add portfolio - Prenume NumeDescriere:
Submit pull request
Pasul 5: Review ศi Merge (Voluntar)
Git CheatSheet
Last updated
Was this helpful?