diff --git a/README.md b/README.md
new file mode 100644
index 000000000000..ed8468410c48
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+Java Enterprise Online Project
+===============================
+Наиболее востребованные технологии /инструменты / фреймворки Java Enterprise:
+Maven/ Spring/ Security/ JPA(Hibernate)/ REST(Jackson)/ Bootstrap(CSS)/ jQuery + plugins.
+
+## Вступительное занятие
+### Описание и план проекта
+### Требования к участникам, Wiki
+### Демо разрабатываемого приложения
diff --git a/src/main/java/ru/javawebinar/topjava/model/UserMeal.java b/src/main/java/ru/javawebinar/topjava/model/UserMeal.java
new file mode 100644
index 000000000000..fde5448b93d8
--- /dev/null
+++ b/src/main/java/ru/javawebinar/topjava/model/UserMeal.java
@@ -0,0 +1,33 @@
+package ru.javawebinar.topjava.model;
+
+import java.time.LocalDateTime;
+
+/**
+ * GKislin
+ * 11.01.2015.
+ */
+public class UserMeal {
+ protected final LocalDateTime dateTime;
+
+ protected final String description;
+
+ protected final int calories;
+
+ public UserMeal(LocalDateTime dateTime, String description, int calories) {
+ this.dateTime = dateTime;
+ this.description = description;
+ this.calories = calories;
+ }
+
+ public LocalDateTime getDateTime() {
+ return dateTime;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public int getCalories() {
+ return calories;
+ }
+}
diff --git a/src/main/java/ru/javawebinar/topjava/model/UserMealWithExceed.java b/src/main/java/ru/javawebinar/topjava/model/UserMealWithExceed.java
new file mode 100644
index 000000000000..dab6c9468c5e
--- /dev/null
+++ b/src/main/java/ru/javawebinar/topjava/model/UserMealWithExceed.java
@@ -0,0 +1,24 @@
+package ru.javawebinar.topjava.model;
+
+import java.time.LocalDateTime;
+
+/**
+ * GKislin
+ * 11.01.2015.
+ */
+public class UserMealWithExceed {
+ protected final LocalDateTime dateTime;
+
+ protected final String description;
+
+ protected final int calories;
+
+ protected final boolean exceed;
+
+ public UserMealWithExceed(LocalDateTime dateTime, String description, int calories, boolean exceed) {
+ this.dateTime = dateTime;
+ this.description = description;
+ this.calories = calories;
+ this.exceed = exceed;
+ }
+}
diff --git a/src/main/java/ru/javawebinar/topjava/util/TimeUtil.java b/src/main/java/ru/javawebinar/topjava/util/TimeUtil.java
new file mode 100644
index 000000000000..02399b7288cf
--- /dev/null
+++ b/src/main/java/ru/javawebinar/topjava/util/TimeUtil.java
@@ -0,0 +1,13 @@
+package ru.javawebinar.topjava.util;
+
+import java.time.LocalTime;
+
+/**
+ * GKislin
+ * 07.01.2015.
+ */
+public class TimeUtil {
+ public static boolean isBetween(LocalTime lt, LocalTime startTime, LocalTime endTime) {
+ return lt.compareTo(startTime) >= 0 && lt.compareTo(endTime) <= 0;
+ }
+}
diff --git a/src/main/java/ru/javawebinar/topjava/util/UserMealsUtil.java b/src/main/java/ru/javawebinar/topjava/util/UserMealsUtil.java
new file mode 100644
index 000000000000..2cb426400fa5
--- /dev/null
+++ b/src/main/java/ru/javawebinar/topjava/util/UserMealsUtil.java
@@ -0,0 +1,35 @@
+package ru.javawebinar.topjava.util;
+
+import ru.javawebinar.topjava.model.UserMeal;
+import ru.javawebinar.topjava.model.UserMealWithExceed;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.Month;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * GKislin
+ * 31.05.2015.
+ */
+public class UserMealsUtil {
+ public static void main(String[] args) {
+ List mealList = Arrays.asList(
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 30,10,0), "Завтрак", 500),
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 30,13,0), "Обед", 1000),
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 30,20,0), "Ужин", 500),
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 31,10,0), "Завтрак", 1000),
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 31,13,0), "Обед", 500),
+ new UserMeal(LocalDateTime.of(2015, Month.MAY, 31,20,0), "Ужин", 510)
+ );
+ getFilteredMealsWithExceeded(mealList, LocalTime.of(7, 0), LocalTime.of(12,0), 2000);
+// .toLocalDate();
+// .toLocalTime();
+ }
+
+ public static List getFilteredMealsWithExceeded(List mealList, LocalTime startTime, LocalTime endTime, int caloriesPerDay) {
+ // TODO return filtered list with correctly exceeded field
+ return null;
+ }
+}