Index: eprms-model/pom.xml
===================================================================
--- eprms-model/pom.xml	(revision d2d9dd87bf4078fa3454d24d9e05d6dbe4b52739)
+++ eprms-model/pom.xml	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
@@ -6,5 +6,5 @@
 	<groupId>info.ajanovski.eprms</groupId>
 	<artifactId>model</artifactId>
-	<version>0.0.8-SNAPSHOT</version>
+	<version>0.0.10-SNAPSHOT</version>
 
 	<name>EPRMS - Educational Project and Resource Management System - Model</name>
@@ -41,7 +41,7 @@
 		</dependency>
 		<dependency>
-			<groupId>org.hibernate</groupId>
+			<groupId>org.hibernate.validator</groupId>
 			<artifactId>hibernate-validator</artifactId>
-			<version>5.4.3.Final</version>
+			<version>6.2.5.Final</version>
 		</dependency>
 	</dependencies>
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/DiscussionPostEvaluation.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/DiscussionPostEvaluation.java	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/DiscussionPostEvaluation.java	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
@@ -0,0 +1,132 @@
+/*******************************************************************************
+ * Copyright (C) 2021 Vangel V. Ajanovski
+ *     
+ * This file is part of the EPRMS - Educational Project and Resource Management 
+ * System (hereinafter: EPRMS).
+ *     
+ * EPRMS is free software: you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License as published by the Free Software 
+ * Foundation, either version 3 of the License, or (at your option) any later 
+ * version.
+ *     
+ * EPRMS is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more 
+ * details.
+ *     
+ * You should have received a copy of the GNU General Public License along 
+ * with EPRMS.  If not, see <https://www.gnu.org/licenses/>.
+ * 
+ ******************************************************************************/
+
+package info.ajanovski.eprms.model.entities;
+
+import java.util.*;
+import javax.persistence.*;
+import javax.validation.constraints.*;
+
+/*
+*/
+@Entity
+@Table(schema = "epm_main", name = "discussion_post_evaluation")
+public class DiscussionPostEvaluation implements java.io.Serializable {
+	private long discussionPostEvaluationId;
+	private String type;
+	private String message;
+	private Integer points;
+	private Date evaluatedOn;
+	private Boolean accepted;
+	private Boolean evaluatePostingAsATeam;
+	private Person person;
+	private DiscussionPost discussionPost;
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+
+	@NotNull
+	@Column(name = "discussion_post_evaluation_id", unique = true, nullable = false)
+	public long getDiscussionPostEvaluationId() {
+		return this.discussionPostEvaluationId;
+	}
+
+	public void setDiscussionPostEvaluationId(long discussionPostEvaluationId) {
+		this.discussionPostEvaluationId = discussionPostEvaluationId;
+	}
+
+	@Column(name = "type")
+	public String getType() {
+		return this.type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	@NotNull
+	@Column(name = "message", nullable = false, length = 100000)
+	public String getMessage() {
+		return this.message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	@Column(name = "points")
+	public Integer getPoints() {
+		return this.points;
+	}
+
+	public void setPoints(Integer points) {
+		this.points = points;
+	}
+
+	@NotNull
+	@Column(name = "evaluated_on", nullable = false)
+	public Date getEvaluatedOn() {
+		return this.evaluatedOn;
+	}
+
+	public void setEvaluatedOn(Date evaluatedOn) {
+		this.evaluatedOn = evaluatedOn;
+	}
+
+	@Column(name = "accepted")
+	public Boolean getAccepted() {
+		return this.accepted;
+	}
+
+	public void setAccepted(Boolean accepted) {
+		this.accepted = accepted;
+	}
+
+	@Column(name = "evaluate_posting_as_a_team")
+	public Boolean getEvaluatePostingAsATeam() {
+		return this.evaluatePostingAsATeam;
+	}
+
+	public void setEvaluatePostingAsATeam(Boolean evaluatePostingAsATeam) {
+		this.evaluatePostingAsATeam = evaluatePostingAsATeam;
+	}
+
+	@ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "person_id", nullable = false, foreignKey = @ForeignKey(name = "fk_discussion_post_evaluation_person"))
+	public Person getPerson() {
+		return this.person;
+	}
+
+	public void setPerson(Person person) {
+		this.person = person;
+	}
+
+	@ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "discussion_post_id", nullable = false, foreignKey = @ForeignKey(name = "fk_discussion_post_evaluation_discussion_post"))
+	public DiscussionPost getDiscussionPost() {
+		return this.discussionPost;
+	}
+
+	public void setDiscussionPost(DiscussionPost discussionPost) {
+		this.discussionPost = discussionPost;
+	}
+
+}
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Person.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Person.java	(revision d2d9dd87bf4078fa3454d24d9e05d6dbe4b52739)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Person.java	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
@@ -37,4 +37,5 @@
 	private String userName;
 	private String authString;
+	private boolean active;
 
 
@@ -79,5 +80,5 @@
 	}
 
-	@Column(name = "user_name")
+	@Column(name = "user_name", unique = true)
 	public String getUserName() {
 		return this.userName;
@@ -97,3 +98,13 @@
 	}
 
+	@NotNull
+	@Column(name = "active", nullable = false)
+	public boolean getActive() {
+		return this.active;
+	}
+
+	public void setActive(boolean active) {
+		this.active=active;
+	}
+
 }
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/ComparatorDiscussionPostByReplyTo.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/ComparatorDiscussionPostByReplyTo.java	(revision d2d9dd87bf4078fa3454d24d9e05d6dbe4b52739)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/ComparatorDiscussionPostByReplyTo.java	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
@@ -1,4 +1,5 @@
 package info.ajanovski.eprms.model.util;
 
+import java.text.SimpleDateFormat;
 import java.util.Comparator;
 
@@ -8,8 +9,9 @@
 
 	public String getCoding(DiscussionPost i) {
+		SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
 		if (i.getReplyTo() == null) {
-			return Long.toString(i.getPostedOn().getTime()) + "-";
+			return dt.format(i.getPostedOn()) + "-";
 		} else {
-			return getCoding(i.getReplyTo()) + Long.toString(i.getPostedOn().getTime()) + "-";
+			return getCoding(i.getReplyTo()) + dt.format(i.getPostedOn()) + "-";
 		}
 	}
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/ModelConstants.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/ModelConstants.java	(revision d2d9dd87bf4078fa3454d24d9e05d6dbe4b52739)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/ModelConstants.java	(revision bddf566cec1018aa975b84e1b77052f369dfa2e4)
@@ -83,3 +83,12 @@
 			DiscussionPostTypeTask, DiscussionPostTypeOther };
 
+	public static final String DiscussionPostEvaluationTypeIdea = "IDEA";
+	public static final String DiscussionPostEvaluationTypeModel = "MODEL";
+	public static final String DiscussionPostEvaluationTypeFunctionality = "FUNCTIONALITY";
+	public static final String DiscussionPostEvaluationTypeBug = "BUG";
+	public static final String DiscussionPostEvaluationTypeOther = "OTHER";
+	public static final String[] AllDiscussionPostEvaluationTypes = { DiscussionPostEvaluationTypeIdea,
+			DiscussionPostEvaluationTypeModel, DiscussionPostEvaluationTypeFunctionality,
+			DiscussionPostEvaluationTypeBug, DiscussionPostEvaluationTypeOther };
+
 }
