├── .prettierrc ├── .eslintrc ├── .gitignore ├── package.json └── README.md /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 80, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "trailingComma": "es5", 7 | "jsxBracketSameLine": false, 8 | "parser": "flow", 9 | "semi": false 10 | } 11 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "react-app", 4 | "prettier" 5 | ], 6 | "rules": { 7 | "jsx-quotes": [ 8 | 1, 9 | "prefer-double" 10 | ] 11 | }, 12 | "plugins": [ 13 | "prettier" 14 | ] 15 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "forge", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "material-ui": "^1.0.0-beta.38", 7 | "material-ui-icons": "^1.0.0-beta.36", 8 | "react": "^16.2.0", 9 | "react-dom": "^16.2.0", 10 | "react-redux": "^5.0.7", 11 | "react-router": "^4.2.0", 12 | "react-router-dom": "^4.2.2", 13 | "react-scripts": "1.1.1", 14 | "redux": "^4.0.0", 15 | "redux-thunk": "^2.2.0" 16 | }, 17 | "scripts": { 18 | "start": "react-scripts start", 19 | "build": "react-scripts build", 20 | "test": "react-scripts test --env=jsdom", 21 | "eject": "react-scripts eject", 22 | "precommit": "lint-staged" 23 | }, 24 | "lint-staged": { 25 | "src/**/*.{js,jsx,json}": [ 26 | "prettier --write", 27 | "git add" 28 | ] 29 | }, 30 | "devDependencies": { 31 | "eslint-config-prettier": "^2.9.0", 32 | "eslint-plugin-prettier": "^2.6.0", 33 | "husky": "^0.14.3", 34 | "lint-staged": "^7.0.4", 35 | "prettier": "^1.11.1", 36 | "redux-logger": "^3.0.6" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Репозиторий с тестовыми заданиями 2 | 3 | Здесь есть список решений типовых (настоящих) тестовых заданий, которые разбираются на стриме. 4 | 5 | #### Список заданий 6 | 7 | [1. Проверяем начальные знания react, redux, react-router](https://github.com/maxfarseer/tz-webinars/tree/tz-1-react-redux-react-router) + [разбор](https://www.youtube.com/watch?v=BMD1JjZf7WA&t=0s) 8 | 9 | Из интересного - `redirect` после `dispatch` 10 | 11 | Ветка уже содержит решение. 12 | 13 | [2. Усложняем п.1 добавляя работу с redux async actions](https://github.com/maxfarseer/tz-webinars/tree/tz-2-react-redux-router-async) + [разбор](https://www.youtube.com/watch?v=EWaNgM4mv-A) 14 | 15 | [3. CRUD-приложение + авторизация через Google Sign In](https://maxpfrontend.ru/zametki/testovoe-zadanie-3/) 16 | 17 | ... (список заданий будет дополняться по мере анонсов) 18 | 19 | --- 20 | 21 | Расписания вебинаров и прочая полезная информация: 22 | + [Расписание на сайте](https://maxpfrontend.ru/raspisanie/) 23 | + [VK](http://vk.com/maxpfrontend) 24 | + [Telegram](https://t.me/maxpfrontend) 25 | + [YouTube](https://www.youtube.com/channel/UCqJyAVWwIqPWKEkfCSP1y4Q) 26 | + [Twitch](https://www.twitch.tv/maxpfrontend) 27 | + [Twitter](https://twitter.com/MaxPatsiansky) 28 | --------------------------------------------------------------------------------