Skip to content

Roadmap designed for budding Web Developers in Frontend Technologies.

License

Notifications You must be signed in to change notification settings

VyuWing-Learning/Web-Developer-Roadmap-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

VyuWing Learning

VyuWing Learning

Web Development Roadmap(Frontend)


Roadmap to becoming an Industry Leading Web Developer (Frontend).


After multiple hours of research with several industry professionals currently working as Web Developer in the industry, we've aggregated all the best, free and open source learning material that they used to become a Web Developer.

The roadmap has been carefully and accurately broken down into a step-by-step action plan of theory and practice resources to make sure you never miss any aspect in your Web Development learning.

Things to keep in mind while going through

  • The document can be read for various tables describing the content respectively. For each table, we have topics that need to be learned, links from where it needs to be learned alongside additional exercises/material that follows.

  • The tutorials/courses that we describe are available for free and need not be bought. This document is in no way any paid promotion of the described tutorials/courses, we recommend them based on community feedback and experience. Similar applies to the links/exercises we follow.

  • The tutorials/courses, being highly rated in the community are found to provide a good understanding, however, in the cases otherwise, we in no manner suggest against looking/searching for other similar videos that help the candidate's understanding.

  • The Week Structure we illustrate may not be in complete balance with the candidate's timeline. Therefore, in cases like these, we advise considering the stipulated time frame 1 week/topic to be more than 1 (maybe 2 weeks/topic) as we strongly advise to not break the structure of tutorials/course action.

  • This roadmap assumes that you have a prior understanding of any programming language.

Git for Reference

Exercises: https://www.w3schools.com/git/exercise.asp

Advanced Git Exercises: https://www.rithmschool.com/courses/git/git-github-advanced-git-exercises

https://github.com/nnja/advanced-git/blob/master/exercises/Exercise8-ForksAndRemoteRepos.md

Programming (JavaScript)

Week 1

Suggested Tutorials: https://www.youtube.com/watch?v=ItYye9h_RXg&list=PL0eyrZgxdwhxNGMWROnaY35NLyEjTqcgB

Topic Coding Exercises & References
Variables & Types

https://github.com/ga-wdi-exercises/js-data-types/blob/master/exercise.md

https://education.launchcode.org/intro-to-professional-web-dev/chapters/data-and-variables/exercises.html

https://www.w3docs.com/exercise/javascript/9

Arrays

https://dev.to/kauresss/some-js-array-exercises-for-beginners-9j8

https://www.rithmschool.com/courses/javascript/javascript-arrays-exercise

https://www.w3resource.com/javascript-exercises/javascript-array-exercises.php

Operators

https://www.w3docs.com/exercise/javascript/14

https://www.learn-js.org/en/Operators

Conditions https://www.teaching-materials.org/javascript/exercises/ifelse
Loops

https://contactmentor.com/js-loop-exercises-solutions/

https://www.learn-js.org/en/Loops

Objects https://www.w3resource.com/javascript-exercises/javascript-object-exercises.php
Object Constructors https://github.com/joinpursuit/AC3.1/blob/master/lessons/javascript-advanced/object-prototypes/constructor-and-prototype-exercises.md
Functions

https://www.w3resource.com/javascript-exercises/javascript-functions-exercises.php

https://cs.lmu.edu/~ray/notes/javascriptfunctions/

Hoisting https://kaledoux.medium.com/javascript-exercises-scope-hoisting-and-closures-423893501195
Website DOM

https://www.youtube.com/watch?v=EHF7xBUAmrQ

https://www.w3resource.com/javascript-exercises/javascript-dom-exercises.php

Events & Event Listeners https://oscarrobertrodriguez.github.io/exercisesModernDeveloper/javascript-events-in-depth/
Popup boxes https://www.learn-js.org/en/Pop-up\_Boxes
Callbacks https://crocoder.dev/blog/callbacks-exercises/

Week 2

Topic Learning Resource Coding Question
Promises https://www.youtube.com/watch?v=DHvZLI7Db8E

https://www.codingame.com/playgrounds/347/javascript-promises-mastering-the-asynchronous/its-time-to-pratice-with-promises

https://github.com/lighthouse-labs/promises-exercises

Async/Await https://www.youtube.com/watch?v=PoRJizFvM7s https://dev.to/bmpickford/practical-beginners-guide-to-problems-with-js-async-await-200p
Object Oriented JS https://www.youtube.com/watch?v=PFmuCDHHpwk

https://dev.to/nehal_mahida/oops-in-javascript-with-easy-to-understand-examples-2ppn

https://hashnode.com/post/using-object-oriented-programming-to-solve-problems-in-javascript-ckxrh4rc300g20ns1enzj23fm

Function context https://www.youtube.com/watch?v=\_JMXlGt3OSo

https://www.learn-js.org/en/Function_Context

https://dev.to/liaowow/take-this-quiz-understand-how-this-works-in-javascript-44dj

ES6 (Modern JavaScript Essentials)

Suggested Playlist: https://www.youtube.com/watch?v=NCwa\_xi0Uuc

Week 3

Topic Coding Question/References
let vs const https://javascript.plainenglish.io/how-to-use-let-var-and-const-in-javascript-cdf42b48d70
Objects https://medium.com/@andrey.igorevich.borisov/10-javascript-exercises-with-objects-8942cc502754
this keyword

https://github.com/joinpursuit/AC3.1/blob/master/lessons/javascript-advanced/object-prototypes/this-keyword-exercises.md

https://www.rithmschool.com/courses/advanced-javascript/javascript-keyword-this-exercises

Arrow functions

https://www.learn-js.org/en/Arrow_Functions

https://dev.to/sylwiavargas/transforming-functions-into-arrow-functions-practice-quiz-3ggc

Destructuring

http://curric.rithmschool.com/springboard/exercises/js-destructuring/

https://subscription.packtpub.com/book/application\_development/9781789800104/1/ch01lvl1sec10/destructuring-assignment

Spread operator

http://curric.rithmschool.com/springboard/exercises/js-rest-spread/solution/index.html

https://github.com/joinpursuit/web-curriculum/blob/master/lessons/es6/spread-operator/spread-operator-practice-exercises.md

https://www.codingame.com/playgrounds/7998/es6-tutorials-spread-operator-with-fun

Classes https://www.w3resource.com/javascript-exercises/fundamental/index1.php
Modules https://subscription.packtpub.com/book/web-development/9781789800104/1/ch01lvl1sec11/classes-and-modules

Object Oriented Programming

Week 4

NOTE: You can code in any preferred language.

Suggested Playlist: https://www.coursera.org/learn/sql-data-science?specialization=ibm-data-analyst

Tutorial to Follow

https://www.youtube.com/watch?v=6T_HgnjoYwM

Conceptual Problems

https://practice.geeksforgeeks.org/tag-page.php?tag=OOP&isCmp=0&level=-3&problemType=2&sort=desc&sort_by=ans

Topic Coding References
Classes and Objects https://www.geeksforgeeks.org/classes-objects-java/
Attributes & Constructors

https://www.geeksforgeeks.org/constructors-in-java/

https://www.w3schools.com/java/java\_class\_attributes.asp

Inheritance

https://www.geeksforgeeks.org/inheritance-in-java/

https://www.geeksforgeeks.org/java-and-multiple-inheritance/

https://www.geeksforgeeks.org/tag/java-inheritance/

Overloading

https://www.geeksforgeeks.org/overloading-in-java/

https://www.geeksforgeeks.org/different-ways-method-overloading-java/

Overriding https://www.geeksforgeeks.org/overriding-in-java/
Polymorphism

https://www.geeksforgeeks.org/polymorphism-in-java/

https://www.javatpoint.com/runtime-polymorphism-in-java

Data hiding

https://www.geeksforgeeks.org/difference-between-data-hiding-and-abstraction-in-java/

https://www.geeksforgeeks.org/encapsulation-in-java/

Regular Expression

https://www.geeksforgeeks.org/regular-expressions-in-java/

https://www.geeksforgeeks.org/tag/java-regular-expression/

Data Structures & Algorithms

Week 5

Tutorial to Follow

https://www.youtube.com/watch?v=RBSGKlAvoiM

Coding Questions

Topic Coding Question
Time Complexity https://www.interviewbit.com/courses/programming/topics/time-complexity/
Recursion https://web.stanford.edu/class/cs9/lectures/06/Recursion%20Problems.pdf
Linked List Practice from Hackerank given above
Stacks and Queues

Practice from Hackerank given above

Hashing Practice from Hackerank given above
Searching Algorithms

Practice from Hackerank given above

Sorting Algorithms

HTML/CSS

Week 6

Database Introduction: https://www.youtube.com/watch?v=wR0jg0eQsZA

Topic Course/Tutorial Exercises
What is HTML & What are HTML tags

https://www.w3schools.com/whatis/whatis_html.asp

http://www.landofcode.com/html-exercises/

https://www.w3schools.com/html/html\_exercises.asp

Basic CSS elements

https://www.w3schools.com/css/default.asp

https://web.dev/learn/css/

https://www.w3schools.com/css/css_exercises.asp

https://github.com/TheOdinProject/css-exercises

Responsive HTML/CSS design

https://www.youtube.com/watch?v=srvUrASNj0s

https://www.freecodecamp.org/learn/responsive-web-design/#responsive-web-design-projects

(recommended to be done after completing the CSS Flexbox & CSS Grid)

CSS Flexbox

https://www.youtube.com/watch?v=JJSoEo8JSnc

https://flexboxfroggy.com/

https://codingfantasy.com/games/flexboxadventure/play

CSS Grid

https://www.youtube.com/watch?v=jV8B24rSN5o

https://www.freecodecamp.org/news/learn-css-grid-by-building-5-layouts/

https://cssgridgarden.com/

https://codingfantasy.com/games/css-grid-attack/play

Frontend

Week 7

Package Managers

Additional Links

Module Bundlers

Webpack practice problems

Linters & Formatters

Practice Problems

Week 8

Pick a framework

Comparison Table

Source: Freshworks Blog

NOTE: For the sake of this roadmap we’ll be beginning out with React JS to set up our foundational understanding of modern-day frontend javascript frameworks. This will indeed enable us to later subjectify the choice of frameworks depending on our use cases.

Suggested Playlist:

https://www.youtube.com/watch?v=QFaFIcGhPoM&list=PLC3y8-rFHvwgg3vaYJgHGnModB54rxOk3

Note: Use the links below for a structured approach to a project.

https://github.com/taniarascia/react-tutorial

https://github.com/101t/react-tutorial

Advanced Concepts in React

https://github.com/enaqx/awesome-react

NOTE: Check this out once you complete the playlist and beginner-level projects to get familiar with the React ecosystem

Topic Practice Codes/Coding References
React components

https://daveceddia.com/react-practice-components/

https://www.vskills.in/practice/react-components-questions

Code Splitting

https://www.geeksforgeeks.org/code-splitting-in-react/

https://www.freecodecamp.org/news/code-splitting-in-react-loadable-components/

Lazy Loading

https://blog.logrocket.com/lazy-loading-components-in-react-16-6-6cea535c0b52/

https://www.tutorialspoint.com/lazy-loading-in-reactjs

https://medium.com/@sujitsingh\_55772/lazy-loading-in-react-25bb2d6114e1

State

https://buildwithreact.com/tutorial/state
https://levelup.gitconnected.com/learn-react-usestate-hook-a09ccf955537?gi=dbc5be7e1c9e

https://contactmentor.com/react-js-practice-exercises-solution/

https://gist.github.com/ross-u/2ab3a3d1fb327c7c20c1473f1898d8e5

Props

Refactor (https://gist.github.com/ross-u/2ab3a3d1fb327c7c20c1473f1898d8e5) using props

http://nicholasjohnson.com/react/course/exercises/props/

https://react.learncodingfree.org/props/exercise-for-props

Handlers

https://www.codecademy.com/courses/react-102/lessons/react-forms/exercises/input-event-handler

https://coderfiles.dev/blog/reactjs-coding-exercises/

Hooks

https://codesandbox.io/s/91l58yqo

https://www.telerik.com/kendo-react-ui/react-hooks-guide/

https://github.com/FormidableLabs/september-react-training/blob/master/slides/05-hooks.md

https://scrimba.com/scrim/cNga6zTR

Week 9

Continuing React from week 8

Topic Resource Practice Codes
Lifting State up

https://www.youtube.com/watch?v=ahKsy1FS45k

https://youtu.be/ZluNj0-NpNI

https://shopify-1.gitbook.io/react/2.-intermediate/lifting-state-up

https://codepen.io/albino/pen/gRJBYO

Contexts Refer to playlist above https://www.toptal.com/react/react-context-api
High Order Components Refer to playlist above https://github.com/Asabeneh/30-Days-Of-React/blob/master/16\_Higher\_Order\_Component/16\_higher\_order\_component.md
Synthetic Events https://youtu.be/wi8RwDOCxhQ https://www.rithmschool.com/courses/react-fundamentals/react-events

Solve this after completing React: https://github.com/sudheerj/reactjs-interview-questions

Week 10

Redux

Suggested Playlist

https://www.youtube.com/playlist?list=PLC3y8-rFHvwheJHvseC3I0HuYI2f46oAK

Project-Based Tutorials:

PS: Couple Redux with React in all these projects

Beginner Project Use Case Reference
Basket App Add/delete list of items in shopping basket https://github.com/AliceWonderland/Basket-App
Pet appointment planner Schedule your pet’s appointment
(No Database or APIs)

https://github.com/YahiaElTai/React-Redux-Projects-for-beginners/tree/master/pet-appointment

This will be a little large project, make sure to cover .eslintrc checks with it and try creating custom build with webpack

Week 11

Testing

We will be using the enterprise accepted libraries of enzyme and jest as the testing library for test-driven development of our react apps

Theory

Suggested Playlist

https://www.youtube.com/watch?v=EgJZv9Iyj-E&list=PL-Db3tEF6pB8Am-IhCRgyGSxTalkDpUV_

Capstone Projects/Problems

Week 12

[Revision]

Polish your skills with this additional concept based coding problems: ​​https://github.com/Asabeneh/30-Days-Of-React

In this week of learning, create mini-projects encompassing the concepts you’ve learned so far in React

Mini Projects Use Case Reference
Birthday Reminder Add birthdate of your friends and display days remaining to their birthdays as a list https://github.com/bilkn/birthday-reminder-app
Todo App A simple todo app that enlists your tasks of the day and marks them done https://github.com/kabirbaidhya/react-todo-app
Movie Database A database of IMDB movies allowing search query https://github.com/iftee/react-movie-database
Quiz App React app which contains MCQs and make the user moves ahead as it answers correctly https://github.com/Jatin-8898/react-quiz-app

Databases

Week 13

Database Introduction: https://www.youtube.com/watch?v=wR0jg0eQsZA

SQL

Suggested Playlist: https://www.coursera.org/learn/sql-data-science?specialization=ibm-data-analyst

Topic Topic/Tutorial Exercises
SQL https://www.youtube.com/watch?v=HXV3zeQKqGY&feature=youtu.be
(ER Diagrams towards the end of the video are optional)

https://www.hackerrank.com/domains/sql

https://www.w3schools.com/sql/exercise.asp

https://towardsdatascience.com/twenty-five-sql-practice-exercises-5fc791e24082

Week 3: Databases and SQL for Data Science with Python String Pattern, Ranges and Operations on Sets
https://www.coursera.org/learn/sql-data-science/lecture/UPbqw/using-string-patterns-and-ranges
https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/blob/master/Databases%20and%20SQL%20for%20Data%20Science/week%202/quiz%201%20(String%20Patterns%2C%20Ranges%2C%20Sorting%20and%20Grouping).PNG

Functions, Multiple Tables and Sub-Queries
https://www.coursera.org/learn/sql-data-science/lecture/0bRtQ/built-in-database-functions

Course Lab 1: https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/tree/master/Databases%20and%20SQL%20for%20Data%20Science/week%202/LAB

Course Lab 2: https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/tree/master/Databases%20and%20SQL%20for%20Data%20Science/week%202/LAB%202

https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/blob/master/Databases%20and%20SQL%20for%20Data%20Science/week%202/quiz%202%20(Functions%2C%20Sub-Queries%2C%20Multiple%20Tables).PNG

Week 4: Database and SQL for Data Science with Python Methods and Tools to access Database with Python

https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/blob/master/Databases%20and%20SQL%20for%20Data%20Science/week%203/quiz%201(Database%20access%20from%20Python).PNG

Course Lab 1: https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/tree/master/Databases%20and%20SQL%20for%20Data%20Science/week%203/Hands-on%20LAB%201

Course Lab2: https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/tree/master/Databases%20and%20SQL%20for%20Data%20Science/week%203/Hands-on%20LAB%202

Week 5: Database and SQL for Data Science with Python Hands on SQL Experience with Real world Data

Assignment: https://github.com/fsiddh/IBM-Data-Science-Professional-Certification/tree/master/Databases%20and%20SQL%20for%20Data%20Science/week%204/Assignment

SQL Project View Take a Look at the Project Level Implementation of SQL

https://github.com/samarth-p/College-ERP

https://github.com/honza/anosql

Additional Practice Problems:

Congrats!

Once you have made till here, you can jump on to working on frontend projects and start applying to frontend roles. Also, do explore different frontend frameworks now and learn about them.
For those who wanna continue on the journey of web development and want to tackle Backend and DevOps too. Stay Tuned!

About

Roadmap designed for budding Web Developers in Frontend Technologies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published