Get Job Ready in any domain by practicing these topics.
Domains -
The topics have a special focus on things actually used in real projects. After completing all topics in a domain you are capable of taking Freelance projects. Command line, Slack, Git and GitHub should also be used as these tools are a must know in software development.
Whenever I was learning, the biggest issue was correct progression. I wasn't sure if task I was choosing for myself was appropriete for me. This is a nice road map. Not too easy, and not impossible to do. - Paweł Kochanek
HTML and CSS
Topics to learn
- How to create html pages.
- Basic HTML tags.
- Styling HTML with inline styles.
- Embedded Stylesheet and External Stylesheet.
- CSS selectors.
- Basic CSS rules (background, color, margin, border, text-align, font-size etc.)
- px and percentage units.
- Chrome DevTools.
- Align boxes in same lines.
- Box Model
- Fluid Layout (percentage units)
- Centering boxes.
- HTML Forms and their styling.
- Flexbox and Viewport units.
- Responsive with media queries.
- Responsive with Bootstrap 4 Grid.
- Bootstrap 4 (button, grid, cards, forms)
- Bootstrap Modals, Tooltips and Carousel
Project Suggestions (from easy to hard)
- Resume Page
- Registration Form
- Landing Page with HTML and pure CSS.
- Landing Page with Bootstrap.
- Company Website with Landing Page, Pricing Page, Signup Page and Contact Page (with google maps)
Online Playground - Codepen
Beginner Javascript
Topics to learn
- Including scripts in html.
- Variables, Assignments and Print to Console.
- Conditionals and Loops.
- Event Handling with onClick.
- Select DOM nodes (querySelector, getElementById)
- Event Handling with addEventListener.
- Basic DOM manipulation (adding classes, innerHTML and modifying other attributes).
- Advanced DOM manipulation (insert new child nodes).
- AJAX requests
- Running local http server.
- Using third party libs (jQuery, slick carousel, fullpage etc.)
- Callbacks, setTimeout, setInterval and async js theory.
Project Suggestions (from easy to hard)
- Age Calculator
- Mouse tracker
- Calculator with one calculation at a time.
- Todo App with pure javascript.
Online Playground - JsBin
Advanced Javascript
Topics to learn
- Event Delegation
- Objects in Detail.
- concept of 'this' and quirks of
this
. - Closures
- Making class like structures, using
new
,this
and functions. - Prototypes and Prototypical Inheritance.
- Develop own javascript library.
- es6
- Functional Javascript
- fetch api
- promises
- async/await
- Concurrency
- webpack
- javascript design patterns (revealing module and pub-sub a must).
- tools like eslint, jest and properly learning npm.
- Develop modern js lib and publish to npm.
- Factory Functions
- Regular Expressions
- Hoisting
- Event Loop
Project Suggestions (from easy to hard)
- Todo App
- Photo Editor
- Online Code Compiler
ReactJs
Topics to learn
- Development with CRA.
- Event Handling.
- Components in separate files.
- Concept of State.
- Concept of props.
- Class Components vs Functional Components.
- React libs (react-router)
- React Component Patterns
- Context API
- Authentication and Authorization.
- Redux (after making 2-3 projects with just react)
Project Suggestions (from easy to hard)
- Mouse Tracker
- Age Calculator
- Todo App
- Advanced Todo App with Login, Signup
Online Playground - CodeSandbox
Node
Topics to learn
- Running a javascript file in node.
- Making a basic HTTP server (just one GET request)
- Separating code in different files.
- HTTP server with express.
- Use Postman for testing APIs.
- Serving static files with express-static.
- CRUD APIs (array as in memory db)
- Mongoose for mongodb (use mlab for db instance)
- CRUD API with mongoose.
- Pragmatic REST APIs.
- Concurrency in Single Threaded Environment.
- Authentication with JWT.
- Authentication with express-session.
- OAuth using Passport.
- Jest for Unit Testing and API testing.
- How to make own CLI tool.
- Advanced pragmatic REST APIs with JOI validations.
- Read & Write Files.
Project Suggestions (from easy to hard)
- One page Todo Application. (Make api request from frontend)
- CLI tool to calculate age.
- CLI tool to simulate
ls
command andtree
command. - CLI tool to read package.json file of project and list all the different dependencies
- Anime Progress Tracker with templating (Multi Page and has Auth)
- API service with rate limiting and access token (jwt) verification
Online Playground - Glitch
Git
Topics to learn
- Make folder a git repo.
- Add and Commit files.
- Push commits to remote server like Github or Gitlab.
- Pull code from remote server.
- Fix merge errors.
- Create branches and switch from one to another.
- Use .gitignore
Github
Topics to learn
- Connect git repo to github.
- Clone github repo.
- Push to github.
- Markdown and proper Readme files.
- Create issues.
- Make Pull requests.
- Fork repos and do Open Source Contributions.