diff --git a/.gitignore b/.gitignore
index 7ed8676eab71e65fe5ce0e0e999775a0e6f84f38..01d21e8155174215e9bf63a4447279ccfb755ae6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,7 @@ db/disciplines activity.sql
 ~dev_rating/static/*
 !~dev_rating/static/img/
 !~dev_rating/static/other/
-*/node_modules
+node_modules/
 
 *.*~
 *.DS_STORE
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1cf5c979dd6cf51bd03d8f032d41ec2e75ae631e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,23 @@
+default: deploy
+	@
+
+
+install: DB_install Tasker_install Tasker_run
+	@
+
+deploy: DB_deploy Tasker_deploy Tasker_run
+	@
+
+
+
+Tasker_install: Tasker_deploy
+	npm install -g gulp
+
+Tasker_deploy:
+	npm install
+
+Tasker_run:
+	gulp
+
+DB_%:
+	@$(MAKE) $* -C ./db
diff --git a/db/Makefile b/db/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c3dec2ace328d6759b482bdffa1ba0e98b5c3f0d
--- /dev/null
+++ b/db/Makefile
@@ -0,0 +1,25 @@
+define GET_NAMES
+$(subst .sql, , $(wildcard $1/*.sql))
+endef
+
+
+USER := $(shell bash -c 'read -p "Username: " pwd; echo $$username')
+PASS := $(shell bash -c 'read -s -p "Password: " pwd; echo $$pwd')
+DB := mmcs_rating
+
+
+
+install: $(call GET_NAMES, structure) \
+$(call GET_NAMES, data) \
+$(call GET_NAMES, constraints) \
+deploy
+	@
+
+deploy: $(call GET_NAMES, stored)
+	@
+
+
+%:
+	mysql -u $(USER) $(PASS) $(DB) < $@.sql
+
+
diff --git a/db/constraints/base.sql b/db/constraints/base.sql
new file mode 100644
index 0000000000000000000000000000000000000000..db873450c4b027c1934315bafb0ba1a48a08449a
--- /dev/null
+++ b/db/constraints/base.sql
@@ -0,0 +1,129 @@
+--
+-- Ограничения внешнего ключа сохраненных таблиц
+--
+
+--
+-- Ограничения внешнего ключа таблицы `accounts`
+--
+ALTER TABLE `accounts`
+  ADD CONSTRAINT `accounts_ibfk_1` FOREIGN KEY (`UserRoleID`) REFERENCES `user_roles` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `departments`
+--
+ALTER TABLE `departments`
+  ADD CONSTRAINT `departments_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `disciplines`
+--
+ALTER TABLE `disciplines`
+  ADD CONSTRAINT `disciplines_ibfk_1` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`),
+  ADD CONSTRAINT `disciplines_ibfk_2` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`),
+  ADD CONSTRAINT `disciplines_ibfk_3` FOREIGN KEY (`AuthorID`) REFERENCES `teachers` (`ID`),
+  ADD CONSTRAINT `disciplines_ibfk_4` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
+  ADD CONSTRAINT `disciplines_ibfk_5` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `disciplines_groups`
+--
+ALTER TABLE `disciplines_groups`
+  ADD CONSTRAINT `disciplines_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `disciplines_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `disciplines_students`
+--
+ALTER TABLE `disciplines_students`
+  ADD CONSTRAINT `disciplines_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `disciplines_students_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `disciplines_teachers`
+--
+ALTER TABLE `disciplines_teachers`
+  ADD CONSTRAINT `disciplines_teachers_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `disciplines_teachers_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `recovery_tokens`
+--
+ALTER TABLE `recovery_tokens`
+  ADD CONSTRAINT `recovery_tokens_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
+
+
+
+--
+-- Ограничения внешнего ключа таблицы `modules`
+--
+ALTER TABLE `modules`
+  ADD CONSTRAINT `modules_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `rating_table`
+--
+ALTER TABLE `rating_table`
+  ADD CONSTRAINT `rating_table_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `rating_table_ibfk_2` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
+  ADD CONSTRAINT `rating_table_ibfk_3` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `specializations`
+--
+ALTER TABLE `specializations`
+  ADD CONSTRAINT `specializations_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `students`
+--
+ALTER TABLE `students`
+  ADD CONSTRAINT `students_ibfk_2` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `study_groups`
+--
+ALTER TABLE `study_groups`
+  ADD CONSTRAINT `study_groups_ibfk_1` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`),
+  ADD CONSTRAINT `study_groups_ibfk_2` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `submodules`
+--
+ALTER TABLE `submodules`
+  ADD CONSTRAINT `submodules_ibfk_1` FOREIGN KEY (`ModuleID`) REFERENCES `modules` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `teachers`
+--
+ALTER TABLE `teachers`
+  ADD CONSTRAINT `teachers_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`),
+  ADD CONSTRAINT `teachers_ibfk_2` FOREIGN KEY (`DepartmentID`) REFERENCES `departments` (`ID`),
+  ADD CONSTRAINT `teachers_ibfk_3` FOREIGN KEY (`JobPositionID`) REFERENCES `job_positions` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `subjects_faculties`
+--
+ALTER TABLE `subjects_faculties`
+  ADD CONSTRAINT `subjects_faculties_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
+  ADD CONSTRAINT `subjects_faculties_ibfk_2` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `students_groups`
+--
+ALTER TABLE  `students_groups`
+  ADD CONSTRAINT `students_groups_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `students_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
+  ADD CONSTRAINT `students_groups_ibfk_3` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `exam_period_options`
+--
+ALTER TABLE `exam_period_options`
+  ADD CONSTRAINT `exam_period_options_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `exam_period_options_ibfk_1` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`);
+
diff --git a/db/constraints/logs.sql b/db/constraints/logs.sql
new file mode 100644
index 0000000000000000000000000000000000000000..35daa0a12b12ea39c098bc057cdd52612538e635
--- /dev/null
+++ b/db/constraints/logs.sql
@@ -0,0 +1,31 @@
+--
+-- Ограничения внешнего ключа таблицы `logs_rating`
+--
+ALTER TABLE `logs_rating`
+  ADD CONSTRAINT `logs_rating_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `logs_rating_ibfk_2` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
+  ADD CONSTRAINT `logs_rating_ibfk_3` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
+
+--
+-- Ограничения внешнего ключа таблицы `logs_signin`
+--
+ALTER TABLE `logs_signin`
+  ADD CONSTRAINT `logs_signin_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_students`
+--
+ALTER TABLE `logs_binds_students`
+  ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_groups`
+--
+ALTER TABLE `logs_binds_groups`
+  ADD CONSTRAINT `logs_binds_groups_ibfk_3` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
diff --git a/db/data/userRoles.sql b/db/data/userRoles.sql
new file mode 100644
index 0000000000000000000000000000000000000000..bb0bdf359b77d95994380b6f4dbc9977d0f95048
--- /dev/null
+++ b/db/data/userRoles.sql
@@ -0,0 +1,14 @@
+--
+-- Дамп данных таблицы `user_roles`
+--
+
+-- 1 - common
+-- 2 - student
+-- 4 - teacher
+-- 8 - admin
+-- 16 - deans
+INSERT INTO `user_roles` (`ID`, `Type`, `RoleName`, `Mark`) VALUES
+(1, 'student', 'Студент', 3),
+(2, 'teacher', 'Преподаватель', 5),
+(3, 'teacher', 'Преподаватель-Администратор', 31),
+(4, 'teacher', 'Работник деканата', 21);
diff --git a/db/duplicate.sql b/db/extra/duplicate.sql
similarity index 100%
rename from db/duplicate.sql
rename to db/extra/duplicate.sql
diff --git a/db/extra/grants.sql b/db/extra/grants.sql
new file mode 100644
index 0000000000000000000000000000000000000000..880479944052fcef6a6575aa563f81761222d281
--- /dev/null
+++ b/db/extra/grants.sql
@@ -0,0 +1,41 @@
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM  'mmcs_rating_view'@'localhost';
+GRANT USAGE ON  `mmcs_rating` . * TO  'mmcs_rating_view'@'localhost';
+
+GRANT SELECT (
+`ID` ,  `Login` ,  `EMail` ,  `UserRoleID` ,  `isEnabled` ,  `UserAgent`
+) ON  `mmcs_rating`.`accounts` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`departments` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`disciplines` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`disciplines_groups` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`disciplines_teachers` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`disciplines_students` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`teachers` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`rating_table` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`faculties` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`general_settings` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`grades` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`job_positions` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`logs_rating` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`logs_signin` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`modules` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`page_access` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`requests` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`semesters` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`specializations` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`students` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`study_groups` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`subjects` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`subjects_faculties` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`submodules` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`disciplines_teachers` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`user_roles` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`students_groups` TO  'mmcs_rating_view'@'localhost';
+
+GRANT SELECT ON  `mmcs_rating`.`view_disciplines` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_disciplines_students` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_disciplines_teachers` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_groups` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_rating_result` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_roadmap` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_students` TO  'mmcs_rating_view'@'localhost';
+GRANT SELECT ON  `mmcs_rating`.`view_teachers` TO  'mmcs_rating_view'@'localhost';
diff --git a/deploy/init_data/law faculty/students.csv b/db/extra/init_data/law faculty/students.csv
similarity index 100%
rename from deploy/init_data/law faculty/students.csv
rename to db/extra/init_data/law faculty/students.csv
diff --git a/deploy/init_data/law faculty/subjects.csv b/db/extra/init_data/law faculty/subjects.csv
similarity index 100%
rename from deploy/init_data/law faculty/subjects.csv
rename to db/extra/init_data/law faculty/subjects.csv
diff --git a/deploy/init_data/law faculty/teachers.csv b/db/extra/init_data/law faculty/teachers.csv
similarity index 100%
rename from deploy/init_data/law faculty/teachers.csv
rename to db/extra/init_data/law faculty/teachers.csv
diff --git a/deploy/init_data/mmcs faculty/english teachers.csv b/db/extra/init_data/mmcs faculty/english teachers.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/english teachers.csv
rename to db/extra/init_data/mmcs faculty/english teachers.csv
diff --git a/deploy/init_data/mmcs faculty/ped and masters students.csv b/db/extra/init_data/mmcs faculty/ped and masters students.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/ped and masters students.csv
rename to db/extra/init_data/mmcs faculty/ped and masters students.csv
diff --git a/deploy/init_data/mmcs faculty/ped subjects.csv b/db/extra/init_data/mmcs faculty/ped subjects.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/ped subjects.csv
rename to db/extra/init_data/mmcs faculty/ped subjects.csv
diff --git a/deploy/init_data/mmcs faculty/pedagogic teachers.csv b/db/extra/init_data/mmcs faculty/pedagogic teachers.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/pedagogic teachers.csv
rename to db/extra/init_data/mmcs faculty/pedagogic teachers.csv
diff --git a/deploy/init_data/mmcs faculty/reports/chessWithIds.jasper b/db/extra/init_data/mmcs faculty/reports/chessWithIds.jasper
similarity index 100%
rename from deploy/init_data/mmcs faculty/reports/chessWithIds.jasper
rename to db/extra/init_data/mmcs faculty/reports/chessWithIds.jasper
diff --git a/deploy/init_data/mmcs faculty/reports/chessWithWords.jasper b/db/extra/init_data/mmcs faculty/reports/chessWithWords.jasper
similarity index 100%
rename from deploy/init_data/mmcs faculty/reports/chessWithWords.jasper
rename to db/extra/init_data/mmcs faculty/reports/chessWithWords.jasper
diff --git a/deploy/init_data/mmcs faculty/reports/groupList.jasper b/db/extra/init_data/mmcs faculty/reports/groupList.jasper
similarity index 100%
rename from deploy/init_data/mmcs faculty/reports/groupList.jasper
rename to db/extra/init_data/mmcs faculty/reports/groupList.jasper
diff --git a/deploy/init_data/mmcs faculty/reports/sheet.jasper b/db/extra/init_data/mmcs faculty/reports/sheet.jasper
similarity index 100%
rename from deploy/init_data/mmcs faculty/reports/sheet.jasper
rename to db/extra/init_data/mmcs faculty/reports/sheet.jasper
diff --git a/deploy/init_data/mmcs faculty/students.csv b/db/extra/init_data/mmcs faculty/students.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/students.csv
rename to db/extra/init_data/mmcs faculty/students.csv
diff --git a/deploy/init_data/mmcs faculty/subjects.csv b/db/extra/init_data/mmcs faculty/subjects.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/subjects.csv
rename to db/extra/init_data/mmcs faculty/subjects.csv
diff --git a/deploy/init_data/mmcs faculty/teachers other.csv b/db/extra/init_data/mmcs faculty/teachers other.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/teachers other.csv
rename to db/extra/init_data/mmcs faculty/teachers other.csv
diff --git a/deploy/init_data/mmcs faculty/teachers.csv b/db/extra/init_data/mmcs faculty/teachers.csv
similarity index 100%
rename from deploy/init_data/mmcs faculty/teachers.csv
rename to db/extra/init_data/mmcs faculty/teachers.csv
diff --git a/db/release_gen_mmcs_sg.sql b/db/extra/init_data/release_gen_mmcs_sg.sql
similarity index 100%
rename from db/release_gen_mmcs_sg.sql
rename to db/extra/init_data/release_gen_mmcs_sg.sql
diff --git a/db/fixes/28_07_15.sql b/db/fixes/28_07_15.sql
new file mode 100644
index 0000000000000000000000000000000000000000..b6dcf99fba8f13bfd6c1580220f51a3c16ed4b6a
--- /dev/null
+++ b/db/fixes/28_07_15.sql
@@ -0,0 +1,48 @@
+CREATE TABLE IF NOT EXISTS `logs_binds_students` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `DisciplineID` int(11) NOT NULL,
+  `TeacherID` int(11) NOT NULL,
+  `StudentID` int(11) NOT NULL,
+  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Type` enum('attach','detach') NOT NULL,
+  PRIMARY KEY (`ID`),
+  KEY `TeacherID` (`TeacherID`),
+  KEY `DisciplineID` (`DisciplineID`),
+  KEY `StudentID` (`StudentID`)
+) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+
+--
+-- Структура таблицы `logs_binds_groups`
+--
+CREATE TABLE IF NOT EXISTS `logs_binds_groups` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `DisciplineID` int(11) NOT NULL,
+  `TeacherID` int(11) NOT NULL,
+  `GroupID` int(11) NOT NULL,
+  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Type` enum('attach','detach') NOT NULL,
+  PRIMARY KEY (`ID`),
+  KEY `TeacherID` (`TeacherID`),
+  KEY `DisciplineID` (`DisciplineID`),
+  KEY `GroupID` (`GroupID`)
+) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+
+
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_students`
+--
+ALTER TABLE `logs_binds_students`
+  ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_students_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
+
+
+--
+-- Ограничения внешнего ключа таблицы `logs_binds_groups`
+--
+ALTER TABLE `logs_binds_groups`
+  ADD CONSTRAINT `logs_binds_groups_ibfk_3` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
+  ADD CONSTRAINT `logs_binds_groups_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
diff --git a/db/StoredFunctions.sql b/db/stored/functions.sql
similarity index 100%
rename from db/StoredFunctions.sql
rename to db/stored/functions.sql
diff --git a/db/StoredProcedures.sql b/db/stored/procedures.sql
similarity index 99%
rename from db/StoredProcedures.sql
rename to db/stored/procedures.sql
index d128a636264a4a8388d95366a27dc49aa9ece2c3..074bd2665a709e62de0e1817a7719c7263d06c6d 100644
--- a/db/StoredProcedures.sql
+++ b/db/stored/procedures.sql
@@ -684,6 +684,7 @@ BEGIN
 
     # TODO: reuse
     # general + attached + detached
+    DROP TABLE IF EXISTS tDiscStudents;
     CREATE TEMPORARY TABLE tDiscStudents AS (
         SELECT  st.StudentID,
                 COALESCE(st.Type) AS 'Type'
diff --git a/db/Views.sql b/db/stored/views.sql
similarity index 100%
rename from db/Views.sql
rename to db/stored/views.sql
diff --git a/db/Structure.sql b/db/structure/base.sql
similarity index 51%
rename from db/Structure.sql
rename to db/structure/base.sql
index c536148aa7d348c585409a93c7808601a01e6ef2..a7d93f0bde63e32e5b0a09a38a231157626f483a 100644
--- a/db/Structure.sql
+++ b/db/structure/base.sql
@@ -1,33 +1,13 @@
-п»ї-- phpMyAdmin SQL Dump
--- version 4.0.10
--- http://www.phpmyadmin.net
---
--- РҐРѕСЃС‚: 127.0.0.1:3306
--- Время создания: Авг 22 2014 г., 14:07
--- Версия сервера: 5.5.37-log
--- Версия PHP: 5.3.28
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+п»їSET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
 SET time_zone = "+00:00";
 
 
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- База данных: `Sample2`
---
-
 -- --------------------------------------------------------
 
 --
 -- Структура таблицы `accounts`
 --
 
--- CHANGE:
-
 CREATE TABLE IF NOT EXISTS `accounts` (
   `ID` int(11) NOT NULL AUTO_INCREMENT,
   `Login` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
@@ -48,7 +28,7 @@ CREATE TABLE IF NOT EXISTS `accounts` (
 -- --------------------------------------------------------
 
 --
--- Структура таблицы `accounts`
+-- Структура таблицы `job_positions`
 --
 
 CREATE TABLE IF NOT EXISTS `job_positions` (
@@ -93,7 +73,6 @@ CREATE TABLE IF NOT EXISTS `disciplines` (
   -- IsLocked (for editing structure)
   `IsLocked`  tinyint(1) NOT NULL DEFAULT '0',
   -- Milestone semester time (or is session time)
-
   `Milestone`  INT(1) NOT NULL DEFAULT '0',
   `MilestoneDate` DATE NULL DEFAULT NULL,
   `Subtype` enum('scientific_coursework', 'disciplinary_coursework' ) NULL DEFAULT NULL,
@@ -168,79 +147,6 @@ CREATE TABLE IF NOT EXISTS `faculties` (
   UNIQUE KEY `Name` (`Name`)
 ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 
--- --------------------------------------------------------
-
---
--- Структура таблицы `logs_binds_students`
---
-CREATE TABLE IF NOT EXISTS `logs_binds_students` (
-  `ID` int(11) NOT NULL AUTO_INCREMENT,
-  `DisciplineID` int(11) NOT NULL,
-  `TeacherID` int(11) NOT NULL,
-  `StudentID` int(11) NOT NULL,
-  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `Type` enum('attach','detach') NOT NULL,
-  PRIMARY KEY (`ID`),
-  KEY `TeacherID` (`TeacherID`),
-  KEY `DisciplineID` (`DisciplineID`),
-  KEY `StudentID` (`StudentID`)
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-
-
---
--- Структура таблицы `logs_binds_groups`
---
-CREATE TABLE IF NOT EXISTS `logs_binds_groups` (
-  `ID` int(11) NOT NULL AUTO_INCREMENT,
-  `DisciplineID` int(11) NOT NULL,
-  `TeacherID` int(11) NOT NULL,
-  `GroupID` int(11) NOT NULL,
-  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `Type` enum('attach','detach') NOT NULL,
-  PRIMARY KEY (`ID`),
-  KEY `TeacherID` (`TeacherID`),
-  KEY `DisciplineID` (`DisciplineID`),
-  KEY `GroupID` (`GroupID`)
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-
-
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `logs_rating`
---
-
-CREATE TABLE IF NOT EXISTS `logs_rating` (
-  `ID` int(11) NOT NULL AUTO_INCREMENT,
-  `StudentID` int(11) NOT NULL,
-  `SubmoduleID` int(11) NOT NULL,
-  `TeacherID` int(11) NOT NULL,
-  `Rate` int(11) NOT NULL,
-  `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  `Action` enum('add','change','delete') NOT NULL,
-  PRIMARY KEY (`ID`),
-  KEY `StudentID` (`StudentID`),
-  KEY `SubmoduleID` (`SubmoduleID`),
-  KEY `TeacherID` (`TeacherID`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
-
--- --------------------------------------------------------
-
---
--- Структура таблицы `logs_signin`
---
-
-CREATE TABLE IF NOT EXISTS `logs_signin` (
-  `ID` int(11) NOT NULL AUTO_INCREMENT,
-  `AccountID` int(11) NOT NULL,
-  `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  PRIMARY KEY (`ID`),
-  KEY `AccountID` (`AccountID`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 
 
 
@@ -302,42 +208,6 @@ CREATE TABLE IF NOT EXISTS `requests` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
--- --------------------------------------------------------
-
--- --
--- -- Структура таблицы `requests`
--- --
-
--- CREATE TABLE IF NOT EXISTS `requests` (
---   `ID` int(11) NOT NULL AUTO_INCREMENT,
---   `To` int(11) NOT NULL,
---   `From` int(11) NOT NULL,
---   `Field1` 	int(11) NOT NULL DEFAULT '0',
---   `Field2` 	int(11) NOT NULL DEFAULT '0',
---   `Field3` 	int(11) NOT NULL DEFAULT '0',
---   `Data` 	text 	NULL DEFAULT NULL,
---   `DataExt` text 	NULL DEFAULT NULL,
---   `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
---   `Type` enum('delegate_discipline','delete_discipline','clear_discipline','report') NOT NULL,
---   `Status` enum('opened','processed','closed') NOT NULL DEFAULT 'opened',
---   PRIMARY KEY (`ID`)
--- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- CREATE TABLE IF NOT EXISTS `requests_old` (
---   `ID` int(11) NOT NULL AUTO_INCREMENT,
---   `To` int(11) NOT NULL,
---   `From` int(11) NOT NULL,
---   `Field1` 	int(11) NULL DEFAULT NULL,
---   `Field2` 	int(11) NULL DEFAULT NULL,
---   `Field3` 	int(11) NULL DEFAULT NULL,
---   `Data` 	text 	NULL DEFAULT NULL,
---   `DataExt` text 	NULL DEFAULT NULL,
---   `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
---   `Type` enum('delegate_discipline','delete_discipline','clear_discipline','report') NOT NULL,
---   `Status` enum('opened','processed','closed') NOT NULL DEFAULT 'opened',
---   PRIMARY KEY (`ID`)
--- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 -- --------------------------------------------------------
 
 --
@@ -566,196 +436,3 @@ CREATE TABLE IF NOT EXISTS `exam_period_options` (
   KEY `StudentID_3` (`StudentID`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 
-
-
---
--- Дамп данных таблицы `user_roles`
---
-
--- 1 - common
--- 2 - student
--- 4 - teacher
--- 8 - admin
--- 16 - deans
-INSERT INTO `user_roles` (`ID`, `Type`, `RoleName`, `Mark`) VALUES
-(1, 'student', 'Студент', 3),
-(2, 'teacher', 'Преподаватель', 5),
-(3, 'teacher', 'Преподаватель-Администратор', 31),
-(4, 'teacher', 'Работник деканата', 21);
-
-
-
---
--- Ограничения внешнего ключа сохраненных таблиц
---
-
---
--- Ограничения внешнего ключа таблицы `accounts`
---
-ALTER TABLE `accounts`
-  ADD CONSTRAINT `accounts_ibfk_1` FOREIGN KEY (`UserRoleID`) REFERENCES `user_roles` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `departments`
---
-ALTER TABLE `departments`
-  ADD CONSTRAINT `departments_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `disciplines`
---
-ALTER TABLE `disciplines`
-  ADD CONSTRAINT `disciplines_ibfk_1` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`),
-  ADD CONSTRAINT `disciplines_ibfk_2` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`),
-  ADD CONSTRAINT `disciplines_ibfk_3` FOREIGN KEY (`AuthorID`) REFERENCES `teachers` (`ID`),
-  ADD CONSTRAINT `disciplines_ibfk_4` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
-  ADD CONSTRAINT `disciplines_ibfk_5` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `disciplines_groups`
---
-ALTER TABLE `disciplines_groups`
-  ADD CONSTRAINT `disciplines_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `disciplines_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `disciplines_students`
---
-ALTER TABLE `disciplines_students`
-  ADD CONSTRAINT `disciplines_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `disciplines_students_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `disciplines_teachers`
---
-ALTER TABLE `disciplines_teachers`
-  ADD CONSTRAINT `disciplines_teachers_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `disciplines_teachers_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `logs_rating`
---
-ALTER TABLE `logs_rating`
-  ADD CONSTRAINT `logs_rating_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `logs_rating_ibfk_2` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
-  ADD CONSTRAINT `logs_rating_ibfk_3` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `logs_signin`
---
-ALTER TABLE `logs_signin`
-  ADD CONSTRAINT `logs_signin_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `recovery_tokens`
---
-ALTER TABLE `recovery_tokens`
-  ADD CONSTRAINT `recovery_tokens_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
-
-
-
---
--- Ограничения внешнего ключа таблицы `modules`
---
-ALTER TABLE `modules`
-  ADD CONSTRAINT `modules_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `rating_table`
---
-ALTER TABLE `rating_table`
-  ADD CONSTRAINT `rating_table_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `rating_table_ibfk_2` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`),
-  ADD CONSTRAINT `rating_table_ibfk_3` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
-
--- CHANGE:
--- --
--- -- Ограничения внешнего ключа таблицы `requests`
--- --
-
--- ALTER TABLE `requests`
---   ADD CONSTRAINT `requests_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
-
---
--- Ограничения внешнего ключа таблицы `specializations`
---
-ALTER TABLE `specializations`
-  ADD CONSTRAINT `specializations_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `students`
---
-ALTER TABLE `students`
-  ADD CONSTRAINT `students_ibfk_2` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `study_groups`
---
-ALTER TABLE `study_groups`
-  ADD CONSTRAINT `study_groups_ibfk_1` FOREIGN KEY (`SpecializationID`) REFERENCES `specializations` (`ID`),
-  ADD CONSTRAINT `study_groups_ibfk_2` FOREIGN KEY (`GradeID`) REFERENCES `grades` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `submodules`
---
-ALTER TABLE `submodules`
-  ADD CONSTRAINT `submodules_ibfk_1` FOREIGN KEY (`ModuleID`) REFERENCES `modules` (`ID`);
-
---
--- Ограничения внешнего ключа таблицы `teachers`
---
-ALTER TABLE `teachers`
-  ADD CONSTRAINT `teachers_ibfk_1` FOREIGN KEY (`AccountID`) REFERENCES `accounts` (`ID`),
-  ADD CONSTRAINT `teachers_ibfk_2` FOREIGN KEY (`DepartmentID`) REFERENCES `departments` (`ID`),
-  ADD CONSTRAINT `teachers_ibfk_3` FOREIGN KEY (`JobPositionID`) REFERENCES `job_positions` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `subjects_faculties`
---
-ALTER TABLE `subjects_faculties`
-  ADD CONSTRAINT `subjects_faculties_ibfk_1` FOREIGN KEY (`FacultyID`) REFERENCES `faculties` (`ID`),
-  ADD CONSTRAINT `subjects_faculties_ibfk_2` FOREIGN KEY (`SubjectID`) REFERENCES `subjects` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `students_groups`
---
-ALTER TABLE  `students_groups`
-  ADD CONSTRAINT `students_groups_ibfk_1` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `students_groups_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
-  ADD CONSTRAINT `students_groups_ibfk_3` FOREIGN KEY (`SemesterID`) REFERENCES `semesters` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `exam_period_options`
---
-ALTER TABLE `exam_period_options`
-  ADD CONSTRAINT `exam_period_options_ibfk_2` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `exam_period_options_ibfk_1` FOREIGN KEY (`SubmoduleID`) REFERENCES `submodules` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `logs_binds_students`
---
-ALTER TABLE `logs_binds_students`
-  ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`StudentID`) REFERENCES `students` (`ID`),
-  ADD CONSTRAINT `logs_binds_students_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `logs_binds_students_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
-
---
--- Ограничения внешнего ключа таблицы `logs_binds_groups`
---
-ALTER TABLE `logs_binds_groups`
-  ADD CONSTRAINT `logs_binds_groups_ibfk_3` FOREIGN KEY (`GroupID`) REFERENCES `study_groups` (`ID`),
-  ADD CONSTRAINT `logs_binds_groups_ibfk_1` FOREIGN KEY (`DisciplineID`) REFERENCES `disciplines` (`ID`),
-  ADD CONSTRAINT `logs_binds_groups_ibfk_2` FOREIGN KEY (`TeacherID`) REFERENCES `teachers` (`ID`);
-
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-
-
diff --git a/db/structure/logs.sql b/db/structure/logs.sql
new file mode 100644
index 0000000000000000000000000000000000000000..865aa00283294f42c31b7034d0297105e991c718
--- /dev/null
+++ b/db/structure/logs.sql
@@ -0,0 +1,87 @@
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET time_zone = "+00:00";
+
+
+
+-- --------------------------------------------------------
+
+--
+-- Структура таблицы `logs_signin`
+--
+
+CREATE TABLE IF NOT EXISTS `logs_signin` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `AccountID` int(11) NOT NULL,
+  `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`ID`),
+  KEY `AccountID` (`AccountID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+
+-- --------------------------------------------------------
+
+--
+-- Структура таблицы `logs_binds_students`
+--
+CREATE TABLE IF NOT EXISTS `logs_binds_students` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `DisciplineID` int(11) NOT NULL,
+  `TeacherID` int(11) NOT NULL,
+  `StudentID` int(11) NOT NULL,
+  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Type` enum('attach','detach') NOT NULL,
+  PRIMARY KEY (`ID`),
+  KEY `TeacherID` (`TeacherID`),
+  KEY `DisciplineID` (`DisciplineID`),
+  KEY `StudentID` (`StudentID`)
+) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+
+-- --------------------------------------------------------
+
+--
+-- Структура таблицы `logs_binds_groups`
+--
+CREATE TABLE IF NOT EXISTS `logs_binds_groups` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `DisciplineID` int(11) NOT NULL,
+  `TeacherID` int(11) NOT NULL,
+  `GroupID` int(11) NOT NULL,
+  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `Type` enum('attach','detach') NOT NULL,
+  PRIMARY KEY (`ID`),
+  KEY `TeacherID` (`TeacherID`),
+  KEY `DisciplineID` (`DisciplineID`),
+  KEY `GroupID` (`GroupID`)
+) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+
+
+-- --------------------------------------------------------
+
+--
+-- Структура таблицы `logs_rating`
+--
+
+CREATE TABLE IF NOT EXISTS `logs_rating` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `StudentID` int(11) NOT NULL,
+  `SubmoduleID` int(11) NOT NULL,
+  `TeacherID` int(11) NOT NULL,
+  `Rate` int(11) NOT NULL,
+  `Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `Action` enum('add','change','delete') NOT NULL,
+  PRIMARY KEY (`ID`),
+  KEY `StudentID` (`StudentID`),
+  KEY `SubmoduleID` (`SubmoduleID`),
+  KEY `TeacherID` (`TeacherID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
+
+
+
+
+
+
diff --git a/db/tables_MMCSRatingReports.sql b/db/structure/tables_MMCSRatingReports.sql1
similarity index 100%
rename from db/tables_MMCSRatingReports.sql
rename to db/structure/tables_MMCSRatingReports.sql1
diff --git a/deploy/gulpfile.js b/gulpfile.js
similarity index 99%
rename from deploy/gulpfile.js
rename to gulpfile.js
index 9deaa7df1e711d4c256cb9efd96f944eb09cac62..791550e456cbcfd0ef082c4185d071eb2c309de1 100644
--- a/deploy/gulpfile.js
+++ b/gulpfile.js
@@ -42,7 +42,7 @@ var prettify = options.beauty ? require('gulp-jsbeautifier') : empty;
 
 var paths = new (function () {
     var self = this;
-    self.root = '..';
+    self.root = '.';
 
     var app = self.root + '/~dev_rating';
     var media = self.root + '/media';
diff --git a/deploy/package.json b/package.json
similarity index 100%
rename from deploy/package.json
rename to package.json
diff --git a/~dev_rating/application/classes/Model/Rating.php b/~dev_rating/application/classes/Model/Rating.php
index 75a914d83ebbb7874120d24a49275eb38a2cb4e0..693c49950e06caef87d3eb6a91ea17979a4fbff6 100644
--- a/~dev_rating/application/classes/Model/Rating.php
+++ b/~dev_rating/application/classes/Model/Rating.php
@@ -71,7 +71,7 @@ class Model_Rating extends Model
         $table = [];
         foreach ($result as $row) {
             $student = $row['StudentID'];
-            $submodule = $row['Submodule'];
+            $submodule = $row['SubmoduleID'];
             $table[$student][$submodule] = $row['Rate'];
         }
 
diff --git a/~dev_rating/application/views/office/students/upload.twig b/~dev_rating/application/views/office/students/upload.twig
index 74e171496278b1cc14bc8654a41024f9b825fcdb..6e6694f18baea47993287deeb390b5e0e5d55925 100644
--- a/~dev_rating/application/views/office/students/upload.twig
+++ b/~dev_rating/application/views/office/students/upload.twig
@@ -19,7 +19,7 @@
 
     <p>Инструмент пакетной загрузки студентов предоставляет возможность регистрировать в системе множество студентов.</p>
     <p>Файл со списком студентов представляет собой .csv-файл, который должен иметь следующий формат:</p>
-    <p><pre>ФИО;Курс;Группа;[Бакалавриат, Специалитет, Магистратура];Специальность</pre></p>
+    <p><pre>ФИО;Курс;Группа;[Бакалавр, Специалист, Магистр];Специальность</pre></p>
     <form enctype="multipart/form-data" action="" method="POST">
         <div class="goodClearFix defaultForm marginBetween">
             <select id="facultySelect" name="facultyID" class="defaultForm">
diff --git a/~dev_rating/application/views/teacher/discipline/rating/rate.twig b/~dev_rating/application/views/teacher/discipline/rating/rate.twig
index b2c97385a4273a19031c0f69304f07a796949670..2353f8f9e7b29348bc46e58cee9fbaa9344d52cd 100644
--- a/~dev_rating/application/views/teacher/discipline/rating/rate.twig
+++ b/~dev_rating/application/views/teacher/discipline/rating/rate.twig
@@ -152,7 +152,7 @@
 
 					{% for Submodule in Submodules %}
 						{% set Module = Modules[Submodule.ModuleID] %}
-						{% set rate = Rates[Student.ID][Submodule.ID] %}
+						{% set rate = Rates[student.ID][Submodule.ID] %}
 						{% set sumRate = sumRate + rate %}
 
 						{% set j = j + 1 %}