diff --git a/.gitignore b/.gitignore
index 6ca05c4a5184..ad02a2599b5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,4 @@
out
target
*.iml
-log
-
-
-
+log
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml
new file mode 100644
index 000000000000..f329893ed901
--- /dev/null
+++ b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/IntelliLang.xml b/IntelliLang.xml
new file mode 100644
index 000000000000..621d5ba9fd4e
--- /dev/null
+++ b/IntelliLang.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_windows/git.xml b/_windows/git.xml
new file mode 100644
index 000000000000..f649716a4862
--- /dev/null
+++ b/_windows/git.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_windows/keymap.xml b/_windows/keymap.xml
new file mode 100644
index 000000000000..5526d9665f7e
--- /dev/null
+++ b/_windows/keymap.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/_windows/laf.xml b/_windows/laf.xml
new file mode 100644
index 000000000000..dbf49b40fd2a
--- /dev/null
+++ b/_windows/laf.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/_windows/path.macros.xml b/_windows/path.macros.xml
new file mode 100644
index 000000000000..5df491f82181
--- /dev/null
+++ b/_windows/path.macros.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/baseRefactoring.xml b/baseRefactoring.xml
new file mode 100644
index 000000000000..dd208be37f3d
--- /dev/null
+++ b/baseRefactoring.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/config/setenv.bat b/config/setenv.bat
new file mode 100644
index 000000000000..ebbd659386f6
--- /dev/null
+++ b/config/setenv.bat
@@ -0,0 +1,4 @@
+rem run tomcat with JMX ability
+rem Run Tomcat as admin
+rem for remote connection add -Djava.rmi.server.hostname=TomcatServer_IP
+set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
diff --git a/databaseDrivers.xml b/databaseDrivers.xml
new file mode 100644
index 000000000000..9db0ee25efa0
--- /dev/null
+++ b/databaseDrivers.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/hsqldb-license.txt
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/hsqldb-2.3.2.jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/postgresql-driver-license.txt
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/postgresql-9.4-1201.jdbc4.jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/mysql-connector-license.txt
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/mysql-connector-java-5.1.35-bin.jar
+
+
+
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/hsqldb-license.txt
+
+
+ file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/hsqldb-2.3.2.jar
+
+
+
+
\ No newline at end of file
diff --git a/databaseSettings.xml b/databaseSettings.xml
new file mode 100644
index 000000000000..2d4eced3d9a7
--- /dev/null
+++ b/databaseSettings.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/debugger.renderers.xml b/debugger.renderers.xml
new file mode 100644
index 000000000000..cad6048ab473
--- /dev/null
+++ b/debugger.renderers.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/debugger.xml b/debugger.xml
new file mode 100644
index 000000000000..49914986e7c8
--- /dev/null
+++ b/debugger.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/description.md b/description.md
new file mode 100644
index 000000000000..cbb102fa72aa
--- /dev/null
+++ b/description.md
@@ -0,0 +1,67 @@
+#### Разработка полнофункционального Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей с использованием наиболее популярных инструментов и технологий Java: Maven, Spring MVC, Security, JPA(Hibernate), REST(Jackson), Bootstrap (css,js), datatables, jQuery + plugins, Java 8 Stream and Time API
+- Основное внимание будет уделяться способам решения многочисленных проблем разработки в Spring/JPA, а также структурному (красивому и надежному) java кодированию и архитектуре приложения.
+- Каждая итерация проекта в закрепляется домашним заданием по реализации схожей функциональности. Следующее занятие начинается с разбора домашних заданий.
+- Большое внимание уделяется тестированию кода: в проекте 88 JUnit тестов.
+- Несмотря на относительно небольшой размер, приложение разрабатывается с нуля как большой проект (например мы используем кэш 2-го уровня Hibernate, настраиваем Jenkins для работы с ленивой загрузкой
+Hibernate, делаем конверторы для типов LocalDateTime (Java 8 time API), которые еще не поддерживаются ни JPA/Hibernate, ни Jackson/json).
+ Разбираются архитектурные паттерны: слои приложения и как правильно разбивать логику по слоям, когда нужно применять Data Transfer Object.
+ Т.е на выходе получается не учебный проект, а хорошо маштабируемый шаблон для большого проекта на всех пройденных технологиях.
+- Большое внимание уделяется деталям: популяция базы, использование транзакционности, тесты сервисов и REST
+ контроллеров, насторойка EntityManagerFactory,
+ выбор реализации пула коннектов. Особое внимание уделяется работе с базой: через Spring JDBC, Spring ORM и
+ Spring Data Jpa.
+- Используются самые востребованные на сегодняшний момент фреймворки: Maven, Spring Security 4
+ вместе с Spring Security Test, наиболее удобный для работы с базой проект Spring Data Jpa, библиотека логирования logback, реализующая SLF4J, повсеместно используемый Bootstrap и jQuery.
+
+#### Демо разрабатываемого приложения
+
+## План проекта (ссылки на некоторые темы открыты для просмотра)
+### Архитектура проекта. Персистентность.
+- Системы управления версиями
+- Java 8: Lambda, Stream API
+- Обзор используемых в проекте технологий и инструментов.
+- Инструмент сборки Maven.
+- WAR. Веб-контейнер Tomcat. Сервлеты.
+- Логирование.
+- Обзор стандартных библиотек. Apache Commons, Guava
+- Слои приложения. Создание каркаса приложения.
+- Обзор Spring Framework. Spring Context.
+- Тестирование через JUnit.
+- Spring Test
+- Базы данных. PostgreSQL. Обзор NoSQL и Java persistence solution без ORM.
+- Настройка Database в IDEA.
+- Скрипты инициализации базы. Spring Jdbc Template.
+- Spring: инициализация и популирование DB
+- ORM. Hibernate. JPA.
+- Поддержка HSQLDB
+- Транзакции
+- Профили Maven и Spring
+- Пул коннектов
+- Spring Data JPA
+- Кэш Hibernate
+
+### Разработка WEB
+- Spring кэш
+- Spring Web
+- JSP, JSTL, i18n
+- Tomcat maven plugin. JNDI
+- Spring Web MVC
+- Spring Internationalization
+- Тестирование Spring MVC
+- REST контроллеры
+- Тестирование REST контроллеров. Jackson.
+- jackson-datatype-hibernate. Тестирование через матчеры.
+- Тестирование через SoapUi. UTF-8
+- WebJars.
+- Bootstrap. Datatables.
+- AJAX. jQuery. Notifications.
+- Spring Security
+- Spring Binding/Validation
+- Работа с Datatables через Ajax.
+- Spring Security Test
+- Encoding password
+- CSRF (добавление в проект защиты от межсайтовой подделки запроса)
+- form-login. Spring Security Taglib
+- Handler interceptor
+- Spring Exception Handling
+- Деплой в Heroku
diff --git a/diff.xml b/diff.xml
new file mode 100644
index 000000000000..ea515a783648
--- /dev/null
+++ b/diff.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/file.template.settings.xml b/file.template.settings.xml
new file mode 100644
index 000000000000..44e5e67b786d
--- /dev/null
+++ b/file.template.settings.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/find.xml b/find.xml
new file mode 100644
index 000000000000..f9570672e0a9
--- /dev/null
+++ b/find.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/github_settings.xml b/github_settings.xml
new file mode 100644
index 000000000000..0186c5ef758f
--- /dev/null
+++ b/github_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gradle.run.settings.xml b/gradle.run.settings.xml
new file mode 100644
index 000000000000..98883fd09d96
--- /dev/null
+++ b/gradle.run.settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/ide.general.xml b/ide.general.xml
new file mode 100644
index 000000000000..9ffc991e1203
--- /dev/null
+++ b/ide.general.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ignore.xml b/ignore.xml
new file mode 100644
index 000000000000..e68e31f0db60
--- /dev/null
+++ b/ignore.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ### Example user template
+
+# IntelliJ project files
+.idea
+*.iml
+out
+_windows
+keymaps
+config
+gen
+
+
+
\ No newline at end of file
diff --git a/inspection/Default.xml b/inspection/Default.xml
new file mode 100644
index 000000000000..60121f310680
--- /dev/null
+++ b/inspection/Default.xml
@@ -0,0 +1,3 @@
+
+
+
+
\ No newline at end of file
diff --git a/qaplug_config.xml b/qaplug_config.xml
new file mode 100644
index 000000000000..51bbb6f48e00
--- /dev/null
+++ b/qaplug_config.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/qaplug_profiles/Default.xml b/qaplug_profiles/Default.xml
new file mode 100644
index 000000000000..edd05b6c956d
--- /dev/null
+++ b/qaplug_profiles/Default.xml
@@ -0,0 +1,181 @@
+
+
+
+
\ No newline at end of file
diff --git a/vcs.xml b/vcs.xml
new file mode 100644
index 000000000000..3f5f9c704d0d
--- /dev/null
+++ b/vcs.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web-browsers.xml b/web-browsers.xml
new file mode 100644
index 000000000000..10814a3f0fc0
--- /dev/null
+++ b/web-browsers.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file