The goal of the academy is to teach students how to write their first (or second, third, etc..) single page application using proper practices available. It is meant to teach students how to write code efficiently, how to use various tools to achieve desired goals.
This is main repository for Adapt academy for front end. Here you will find resources for lessons (quiz, boilerplates and so on).
Repository contains:
├── final
├── lesson1
│ ├── html-common.html
│ └── html1.html
├── lesson2
│ └── html-common.html
└── README.md
In final directory you will found React boilerplate for final task that you will accomplish after course end.
In lesson folders you will find resources for lessons.
- Lesson 1: Intro.
-
What is Front-end development.
-
HTML - basics, semantics, purpose.
-
CSS - selectors, colors, positions, borders, box model, transform, states.
-
Practical exercise.
- Lesson 2: Advanced CSS.
-
Transitions - Animations.
-
CSS - BEM, SMACSS, ATOMIC CSS, OOCSS.
-
Responsive web design.
-
CSS preprocessors
-
Flex, grid
-
Practical exercise
- Lesson 3: Javascript (1).
-
Introduction (What is javascript? Ways to execute Javacript code).
-
Document object model (DOM api common methods)
-
Variables, operators, data types and structures
-
Program control flow (if ... else, switch, falsy values)
-
Data structures (array, object)
-
Loops and iteratios (for, while, For ... in, For .. of)
-
Functions.
-
JSON format. API interaction.
-
AJAX. XMLHttpRequest and Fetch.
-
Javascript Frameworks
-
Practical exercise.
- Lesson 4: Javascript (2).
-
ES7 (arrow function, bind, spread operator, class, const, let keywords; new collections - Map, Set, WeakMap, WeakSet).
-
Traversing through collection (map, forEach, filter, find).
-
Promises, async functions, generators
-
Practical exercise.
- Lesson 5: Making things click together - real life project development.
-
Code standarts - linters, readable code.
-
Project structure, clean code.
-
Tooling - npm, yarn, webpack, git and etc.
-
Practical exercise
- Lesson 6: React - introduction.
-
Introduction - what is it, differences from others, philosophy, simple examples.
-
JSX as XHTML and JS mix for faster components creation.
-
React components types (stateful, stateless, controlled and etc.) and when use them
-
Practical exercise
- Lesson 7: React - data flow and lifecycle.
-
How data works in React?
-
React life cycles (component mount, unmount, render and etc.).
-
Practical exercise.
- Lesson 8: React - integration with third party libraries.
-
React and third party libraries (redux, react-router, redux-api-middleware and etc.).
-
React and Redux.
-
Routing in react.
-
Make API request in React.
-
Practical exercise.
- Lesson 9: React - advanced.
-
React enhancement with redux middlewares.
-
Patterns in React (high order component, render prop, compound components and etc.)
-
Practical exercise
- Final task
- Boilerplate for final task can be found in https://github.com/adaptdk/Adapt-Academy-Frontend-2019-task . Look at slides in repository in final directory. More details will be explained in one of the lessons after some introduction to ReactJS.
- Demo of completed solution can be accessed by entering url https://adaptdk.github.io/Adapt-Academy-Frontend-2019-solution/
-
Nodejs 8 (latest LTS) https://nodejs.org/en/download/;
-
Webpack;
-
nvm (node version manager);
-
Chrome dev tools;
-
Visual Studio code (free open source editor, but you can pick any other);
-
GIT;
May the force be with you :)