Testeaza pagina aici (fara partea de server).
Inainte de a porni desrevrul index.js
este nevoie de rularea urmatoarelor comenzi pentru instalarea dependentelor:
npm install express --save
npm install formidable --save
npm install express-session –save
Dupa ce dependentele au fost instalate se ruleaza comanda
node index.js
Acum serverul este pregatit si gata de utilizat, accesati in browser adresa localhost:5000
.
HTML:
-
Trecerea testelor de validare HTML http://validator.w3.org/
-
Folosirea tagurilor semantice prezentate la curs/laborator
CSS:
Fișiere separate pentru HTML și CSS conținutul site-ului trebuie să aibă sens (nu îl umpleți cu Lorem ipsum) nu este acceptată folosirea de frameworkuri și librării HTML:
-
Trecerea testelor de validare HTML http://validator.w3.org/ folosirea tagurilor semantice prezentate la curs/laborator CSS:
-
Trecerea testelor de validare CSS https://jigsaw.w3.org/css-validator/
-
Site-ul trebuie să fie responsive (media query, unități relative, tipuri de display)
-
Folosirea selectorilor CSS de bază (după id, clasă, tag, elementContinut, elementCopil, al n-lea copil de tipul unui tag :nth-of-type)
-
Specificarea proprietăților: width, height, color, background, font-size, border, padding, margin, display etc. folosirea coloanelor pentru layoutul a cel puțin unei pagini;
-
Realizarea layoutului fără tabele (folosind flex și grid)
-
Site-ul trebuie să conțină un menu drop-down (sau altfel expandabil) realizat cu CSS
-
Site-ul trebuie să conțină o tranziție care implică schimbarea mai multor proprietăți la intervale diferite de timp
-
Site-ul trebuie să conțină o animație care să modifice mai multe proprietăți ale aceluiași element
-
! bonus point ! pentru generarea conținutului folosind :after, :before (dar să aibă sens; fiți creativi)
A. JavaScript
- fișier separat pentru codul JavaScript
- modificarea stilului unui element sau al unui grup de elemente
- manipularea DOM-ului (selectare după id, tag, clasă, folosind selectori CSS)
- crearea și stergerea de elemente HTML
- folosirea și modificarea evenimentelor generate de mouse si tastatură
- modificare de proprietăți
- inputuri funcționale (de exemplu: input de tip text/range/number/radio/checkbox, select, textarea)
- folosirea setTimeout sau setInterval
- folosirea localStorage (să se pastreze în localStorage o colecție de elemente)
- folosirea a cel puțin unei metode din clasele: Math, Array, String, Date
- schimbarea aleatoare a valorilor unei proprietăți (de exemplu: culoare, dimensiuni, poziție)
- folosirea proprietăților classList, target sau currentTarget
- folosirea metodelor getComputedStyle, stopPropagation
- validarea datelor dintr-un formular folosind expresii regulate
B. AJAX & Node.js
-
cereri get/post: preluare date dintr-un formular
-
cereri Ajax cu preluare date dintr-un fișier json
-
sesiuni: login/logout (cu Node.js sau Storage)
-
pagină pentru eroarea 404
-
Pe lângă implementarea acestor cerințe minimale (a căror rezolvare corectă nu garantează punctajul maxim), includeți în proiect și tratarea altor probleme (la alegere) precum cea a accesibilității, internaționalizării (traducere, caractere speciale etc.), folosirii canvas/svg etc.