> For the complete documentation index, see [llms.txt](https://max-frontend.gitbook.io/redux-course-ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://max-frontend.gitbook.io/redux-course-ru/struktura_prilozheniya.md).

# Создание

*ОБНОВЛЕНИЕ 2018: Вышло* [*второе издание*](https://maxfarseer.gitbooks.io/redux-course-ru-v2/content/) *(современный код и версии пакетов, данное издание УСТАРЕЛО)*

*На* [*канале*](http://bit.ly/2IqH74P) *так же проводятся бесплатные вебинары, публикуются переводы и авторские материалы,* [*присоединяйтесь*](http://bit.ly/2IqH74P)*!*

## Создание

Я предлагаю по шагам создать одностраничное приложение, с минимумом функций, которое после логина и подтверждения прав доступа к фото, будет выдавать топ ваших "залайканных" фото в порядке убывания. Схематично, приложение можно представить следующим образом: ![приложение](https://721505618-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvLmy8wH1HhL0UsjoVp%2F-LvLmyaitqCV1tR5_kQb%2F-LvLnLoGgO3k3DmqCXCc%2Fsample_app.jpg?generation=1575561827505151\&alt=media)

Прежде чем описывать структуру, давайте в общих чертах взглянем на Redux.

Redux-приложение это:

* состояние (state) приложения в одном месте
* однонаправленный поток данных

Redux вдохновлен [Flux](https://facebook.github.io/flux/docs/overview.html#content) методологией и языком программирования [Elm](http://elm-lang.org/)

Под капотом, Redux использует слабо документированную фичу реакта - **context**, которая, к слову, до сих пор является *unstable*, и может быть изменена/удалена. К счастью, этого не происходит и вряд ли произойдет.

### Файлы и папки:

Изначально наше приложение в файловом менеджере должно выглядеть так:

```
+-- src
|   +-- actions
|   +-- components
|   +-- constants
|   +-- containers
|   +-- reducers
|   +-- index.js
+-- index.html
+-- package.json
+-- server.js
+-- webpack.config.js
```
