Frontend Web Developer Plan
Note: This plan is WIP
Metalearning Plan for Frontend Developer
- What concepts do I need to understand?
- What facts do I need to memorize?
- What procedures do I need to practice?
- HTML
- Tags
- Id & Class
- Box Model
- Margin
- Padding
- Borders
- Styling
- CSS
- Inline
- Internal
- External
- FlexBox
- CSS Grid
- CSS Animation
- Transition
- Animation
- Transforms
- Scaling
- Translation
- Rotate
- Skew
- Prefixes (fix browser compatibility issues)
- Custom timing functions
- CSS Variables
- Responsive Design
- CSS Units (Absolute, Percentages, Relative)
- Relative Units
- Relative to Font Size (em, rem)
- Relative to Viewport (vw, vh, vmin, vmax)
- Relative Units
- Media Queries
- CSS Units (Absolute, Percentages, Relative)
- SCSS
- CSS-in-JS (e.g. emotion )
- CSS
- JavaScript
- Scope
- Hoisting
- Functions
- Class
- Modules
- High Order Function
- map
- reduce
- filter
- sort
- every
- some
- find
- findindex
- Rest & Spread operators
- Promises
- Async/Await
- Fetch API
- Axios
- NodeJS Basics
- NodeJS Basics
- Express.js
- Markdown
- GraphQL
- Why GraphQl
- How it differs from Rest
- GraphQL Type System
- GraphQL Schema
- Data Types in Schema
- GraphiQL
- Operation Types
- Handling Data (Aliases, Fragments, Nested Fields)
- Naming a query
- Defining Variables
- Mutation
- Common issues with GraphQL (such as n+1 problem)
- Appollo
- ReactJS
- JSX
- components
- Function based components
- Class based components
- High order components
- props
- Styling
- state
- Event Handling
- State management using class
- Life cycle methods
- Conditional rendering (using ternary or && operator)
- React Router
- Hooks
- useState
- useEffect
- useContext
- useRef
- useCallback
- Custom Hooks
- Context API
- Error Boundaries
- React lazy, memo, and Suspense
- Reusability
- Composition
- React Children
- HOCs (Higher Order Components)
- Render Props
- React Apps Performance
- React's Tree Rendering
- Shallow Comparison
- Fixing performance issues using
shouldComponentUpdate
,React.PureComponent
, andReact.memo()
- Redux
- Gatsby
- Gatsby Basics
- plugins
- Create a blog (text+Images+Videos)
- Gatsby eCommerce
- Deploy the site to GitHub Pages
- Deploy the site to Netlify
- Functional Programming
Procedures
- Creating an array of components using map
- Components read data from JSON
- Components read data from an API
- Conditional rendering of components
- Forms
- Controlled Forms
- Form Library: Formik
Practice/Drills
- A to-do app
- Image Search App (using Unsplash api)
- Movie Search App (using themoviedb)
- A meme generator
- Portfolio Site
- Book Club App
- An eCommerce Store
- Habit Tracker App
- A blog engine
- Notes tracker