├── README.md ├── api.json └── shoot.png /README.md: -------------------------------------------------------------------------------- 1 | **Тестовое задания на позицию Frontend разработчика** 2 | 3 | В зависмости от вашего уровня мы предлагаем выполнить часть обязательных и не обязательных задач. 4 | 5 | 1. Сделать верстку исключительно главной страницы [макета](https://www.figma.com/file/fUkK2PvQPPldpqpcq6Hx0pgm/Untitled?node-id=0%3A1) 6 | 2. Заполнить макет доступными [данными](./api.json) (коллекция postman) 7 | _Данные в дизайне отличаются от данных в запросе (в конце описания мы покажем пример страницы)_ 8 | 9 | **Необязательные задачи** 10 | - Адаптивная верстка 11 | - Использование линтера/форматера 12 | - Ленивая подгрузка компонентов или модулей 13 | - Создать изоморфное приложение 14 | - Использование Mock-объектов 15 | 16 | **Ссылки которые помогут решить задачу** 17 | 18 | https://learnnextjs.com/ 19 | 20 | https://github.com/unicodeveloper/awesome-nextjs 21 | 22 | https://reactjs.org/ 23 | 24 | https://ant.design/ 25 | 26 | https://redux.js.org/ 27 | 28 | https://github.com/mbeaudru/modern-js-cheatsheet 29 | 30 | http://www.react.express/ 31 | 32 | https://eslint.org/docs/user-guide/getting-started 33 | 34 | https://www.getpostman.com/downloads/ 35 | 36 | https://www.apollographql.com/docs/react/ 37 | 38 | **Результат работы** 39 | Результатом работы должна быть ссылка на ваш личный репозиторий. 40 | Идеальным вариантом станет еще ссылка на работающее [приложение](https://www.heroku.com/) 41 | Мы ценим ваше время и готовы рассматривать работы с не полной версткой макета, например без блока комментарии и рекомендации. 42 | 43 | ![shoot](./shoot.png) 44 | 45 | --- 46 | Удачи, если будут какие-то вопросы, то пишите, kirill@devjs.ru 47 | 48 | Либо telegram https://t.me/kirillborovkov 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /api.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "c64afaff-d07d-424e-aad0-96446b5a2d02", 4 | "name": "GQL Example", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "getSpecialistServicePackage", 10 | "request": { 11 | "method": "POST", 12 | "header": [ 13 | { 14 | "key": "Content-Type", 15 | "value": "application/json" 16 | } 17 | ], 18 | "body": { 19 | "mode": "raw", 20 | "raw": "{\n\t\"query\": \"query($id: ID!, $index: SpecialistServiceIndex, $serviceType: SpecialistServiceType) { specialistServices(id: $id, index: $index, type: $serviceType) { id uri name price type rating duration description languages city lat lon quantity reviews { id } results { photos } specialist { uri id type name description avatar { url_thumbnail } } images { id url_original url_thumbnail url_crop } periods { since, to } } }\",\n\t\"variables\": {\n\t\t\"id\": \"32c40308-2057-4a33-8cd9-dd952b200d45\",\n\t\t\"index\": \"id\",\n\t\t\"serviceType\": \"package\"\n\t}\n}" 21 | }, 22 | "url": { 23 | "raw": "https://gql.st.devjs.ru/graphql", 24 | "protocol": "https", 25 | "host": [ 26 | "gql", 27 | "st", 28 | "devjs", 29 | "ru" 30 | ], 31 | "path": [ 32 | "graphql" 33 | ] 34 | }, 35 | "description": "query($id: ID!, $index: SpecialistServiceIndex, $serviceType: SpecialistServiceType) { specialistServices(id: $id, index: $index, type: $serviceType) { id\n uri\n name\n price\n type\n rating\n duration\n description\n languages\n city\n lat\n lon\n quantity\n reviews {\n id\n }\n results {\n photos\n }\n specialist {\n uri\n id\n type\n name\n description\n avatar {\n url_thumbnail\n }\n }\n images {\n id\n url_original\n url_thumbnail\n url_crop\n }\n periods {\n since,\n to\n }\n}" 36 | }, 37 | "response": [] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /shoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devjsru/react_test/3260e863d284cd2c2838ec8c6e1ee64f13637833/shoot.png --------------------------------------------------------------------------------