https://github.com/1vank1n/learning-1
https://github.com/1vank1n/learning-1
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/1vank1n/learning-1
- Owner: 1vank1n
- Created: 2015-11-22T18:00:34.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-11-22T18:02:02.000Z (over 9 years ago)
- Last Synced: 2025-01-19T13:16:37.468Z (4 months ago)
- Language: CSS
- Size: 380 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Осваиваем Flux
## База данных темных лордов
### Легенда
Вы помощник Оби-Вана кеноби и ваша задача создать интерфейс пользователя к базе данных ситхов. Оби Ван путешествует по галактике посмещая множество миров. Говорят, что в каждом мире где родился Тёмный Лорд можно найти некую "печать". Оби-Ван собирается проверить, правда ли это.
Оби-Ван дал Вам задание создать интерфейс пользователя, показывающий список Темных лордов, упорядоченный по отношению "учитель - ученик" (таким образом темный джедай в строке `N` является учителем темного джедая в строке `N+1`
Интерфейс также показывает планету на которой Оби-Ван находится в данный момент и подсвечивает красным, если один из джедаев, отображенных на экране родился на этой планете### Требования
- Информация о текущей планете поступает через WebSocket по адресу `ws://jedi.smartjs.academy` и отображается наверху страницы

- Для получения списка темных лордов существует URL `http://jedi.smartjs.academy/dark-jedis/`. Первый запрос должен быть отправлен для получения Darth Sidious: `http://jedi.smartjs.academy/dark-jedis/3616`
* HTTP ответ для каждого джедай содержит URL его ученика `response.apprentice.url` и учителя `response.master.url`.- Кнопочки скролла: вверх/вниз, сдвигает лист на 2 позиции
- Когда список проскроллился, загружайте дополнительные строки **по одной** для заполнения пустых мест. **Не кешируйте** данные (другие пользователи могут вносить правки, а нам нужны самие свежие данные)

- Никогда не делайте запрос для элемента, который находится сейчас за пределами списка. Отменяйте подобные "устаревшие" запросы, если пользователь быстро скроллит туда-обратно

- Когда изменяется либо планета, на которой находится Оби-Ван, либо мы проскроллили список, проверить - существует ли в списке Темный Лорд, чья планета соответствует текущей планете. Если это так - отобразить этого Темного Лорда красным, и ОТМЕНИТЬ все выполняющиеся на данный момент HTTP запросы. Запретить scrolling до тех пор пока Оби-Ван не прыгнет на другую планету.

- Список нельзя проскроллить вниз, если последний ситх в списке не имеет ученика. Список нельзя проскроллить вверх, если первый ситх в списке не имеет учителя. Используйте класс `.css-button-disabled` на кнопках для отображения этого статуса

- Используйте CSS классы из `styles.css` для HTML, который может выглядеть приблизительно так:
```html
Obi-Wan currently on Tatooine
Jorak Uln
Homeworld: Korriban
Skere Kaan
Homeworld: Coruscant
Na'daz
Homeworld: Ryloth
Kas'im
Homeworld: Nal Hutta
Darth Bane
Homeworld: Apatros
```### Выполнение и сдача задания
Никакого шаблона нет. Вам необходимо создать все приложение с нуля. Обязательные требования:
* React 0.14
* Redux
* Webpack
* Webpack-dev-server
* https://github.com/erikras/ducks-modular-reduxСоздайте git-репозиторий так, чтобы я мог видеть ваш прогресс по решению этого задания на регулярной основе