Freecodecamp categoric, mai sunt ceva cursuri bazate pe proiecte de la Google.
Pentru JavaScript n-are nici un rost sa inveti jQuery. (dar freecodecamp are un curs foarte bun cu animatii ca sa intelegi ce este, dar mai mult nu te intereseaza)
Daca inveti acum n-are nici un rost sa inveti PHP, incepi cu ceva backend mock-uit (fals) care da date dintr-un JSON, dupa ce poti crea un front-end inveti despre baze de date, despre sql, despre nosql si documente. Folosesti ceva API REST existent, ceva API graphql existent, inveti despre headere, login cu JWT (librarie standard), SSO, OAuth.
Dupa faci ceva aplicatie reala pe front-end, posibil cu React, pentru backend poti folosi Firebase sau un serviciu cu API (e gratuit pana la o anumita limita)
Dupa ce stii cat de cat ce trebuie facut pe front-end te poti apuca si de ceva pe back-end, ceva simplu cu Go, Kotlin, chiar Python cu FastAPI (mi-a intrat recent in atentie fiindca mi se pare ridicol de simplu). Combinat desigur cu o baza de date mysql/postgresql sau chiar mongodb. Eventual combinat si cu un ORM.
Dupa ajungi la lucruri mai complexe precum roluri pe useri, liste virtuale, componente (widget-uri) in functie de context, date care se actualizeaza in timp real cu websockets si stomp/mqtt, programare functionala.
Iti ia cam un an sa intelegi JavaScript si sa stii cum sa abordezi problemele (aici includ si cunostiinte de HTML/CSS(box model+flexbox+css grid) - poate chiar si desenarea pe canvas, SVG-uri, utilizarea dev tools si presupun ca stii ceva programare, daca JS e primul limbaj s-ar putea sa ia mai mult de un an), dupa un an pentru TypeScript si un an pentru pattern-uri pe front-end cu React de exemplu. Aici includ si unit testele, chiar si e2e-urile. In acelasi timp mai poti invata si lucruri de pe back-end dar m-as mira daca ai invata mai mult de validare, login cu JWT, paginare, OWASP top 10 si join-uri pe sql.
Un om pe front-end decent incepe cand stie cum sa faca un layout fara !important in CSS, intelege build system-ul cu SCSS, cu React… Iar cu JS scrie cod elegant, asta inseamna cod functional cu sintaxa ES6 si stie sa faca debugging din browser la componente mai complexe precum liste virtuale, componente care apar la hover/in afara paginii. Preferabil scrie si unit teste bune in functie de framework, probabil cu jest/mocha+chai.
Legat de gazduire gratuita la inceput (avantajul din trecut al lui PHP), front-end-ul se poate gazdui gratuit pe vercel/netlify/Google GCP, Github Pages/ GitLab… Backend-ul (daca e node sau python) https://www.deta.sh, Firebase, Google GCP, Heroku, Vercel (daca e serverless).