Index: eprms-model/pom.xml
===================================================================
--- eprms-model/pom.xml	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/pom.xml	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -6,5 +6,5 @@
 	<groupId>info.ajanovski.eprms</groupId>
 	<artifactId>model</artifactId>
-	<version>0.0.1-SNAPSHOT</version>
+	<version>0.0.2-SNAPSHOT</version>
 
 	<name>EPRMS - Educational Project and Resource Management System - Model</name>
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Activity.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Activity.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Activity.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -28,13 +28,14 @@
 */
 @Entity
-@Table (schema="epm_main", name="activity")
+@Table(schema = "epm_main", name = "activity")
 public class Activity implements java.io.Serializable {
 	private long activityId;
 	private String title;
 	private String description;
-	private Activity parentActivity;
+	private Activity superActivity;
+	private Project project;
+	private List<WorkReport> workReports = new ArrayList<WorkReport>();
 	private ActivityType activityType;
-	private Project project;
-
+	private List<Activity> subActivities = new ArrayList<Activity>();
 
 	@Id
@@ -47,5 +48,5 @@
 
 	public void setActivityId(long activityId) {
-		this.activityId=activityId;
+		this.activityId = activityId;
 	}
 
@@ -56,5 +57,5 @@
 
 	public void setTitle(String title) {
-		this.title=title;
+		this.title = title;
 	}
 
@@ -65,15 +66,34 @@
 
 	public void setDescription(String description) {
-		this.description=description;
+		this.description = description;
 	}
 
 	@ManyToOne(fetch = FetchType.LAZY)
-	@JoinColumn(name = "parent_activity_id", nullable = false, foreignKey = @ForeignKey(name = "fk_activity_activity"))
-	public Activity getParentActivity() {
-		return this.parentActivity;
+	@JoinColumn(name = "parent_activity_id", nullable = true, foreignKey = @ForeignKey(name = "fk_activity_activity"))
+	public Activity getSuperActivity() {
+		return this.superActivity;
 	}
 
-	public void setParentActivity(Activity parentActivity) {
-		this.parentActivity=parentActivity;
+	public void setSuperActivity(Activity superActivity) {
+		this.superActivity=superActivity;
+	}
+
+	@ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "project_id", nullable = false, foreignKey = @ForeignKey(name = "fk_activity_Project"))
+	public Project getProject() {
+		return this.project;
+	}
+
+	public void setProject(Project project) {
+		this.project = project;
+	}
+
+	@OneToMany(fetch = FetchType.LAZY, mappedBy = "activity")
+	public List<WorkReport> getWorkReports() {
+		return this.workReports;
+	}
+
+	public void setWorkReports(List<WorkReport> workReports) {
+		this.workReports=workReports;
 	}
 
@@ -85,15 +105,14 @@
 
 	public void setActivityType(ActivityType activityType) {
-		this.activityType=activityType;
+		this.activityType = activityType;
 	}
 
-	@ManyToOne(fetch = FetchType.LAZY)
-	@JoinColumn(name = "project_id", nullable = false, foreignKey = @ForeignKey(name = "fk_activity_Project"))
-	public Project getProject() {
-		return this.project;
+	@OneToMany(fetch = FetchType.LAZY, mappedBy = "superActivity")
+	public List<Activity> getSubActivities() {
+		return this.subActivities;
 	}
 
-	public void setProject(Project project) {
-		this.project=project;
+	public void setSubActivities(List<Activity> subActivities) {
+		this.subActivities=subActivities;
 	}
 
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Database.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Database.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Database.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -28,5 +28,5 @@
 */
 @Entity
-@Table(schema = "", name = "database")
+@Table (schema="", name="database")
 public class Database implements java.io.Serializable {
 	private long databaseId;
@@ -40,6 +40,7 @@
 	private String port;
 	private String tunnelServer;
+	private Date dateCreated;
 	private Project project;
-	private Date dateCreated;
+
 
 	@Id
@@ -52,5 +53,5 @@
 
 	public void setDatabaseId(long databaseId) {
-		this.databaseId = databaseId;
+		this.databaseId=databaseId;
 	}
 
@@ -61,5 +62,5 @@
 
 	public void setType(String type) {
-		this.type = type;
+		this.type=type;
 	}
 
@@ -70,5 +71,5 @@
 
 	public void setServer(String server) {
-		this.server = server;
+		this.server=server;
 	}
 
@@ -79,5 +80,5 @@
 
 	public void setName(String name) {
-		this.name = name;
+		this.name=name;
 	}
 
@@ -88,5 +89,5 @@
 
 	public void setOwner(String owner) {
-		this.owner = owner;
+		this.owner=owner;
 	}
 
@@ -97,5 +98,5 @@
 
 	public void setPassword(String password) {
-		this.password = password;
+		this.password=password;
 	}
 
@@ -106,5 +107,5 @@
 
 	public void setTunnelUser(String tunnelUser) {
-		this.tunnelUser = tunnelUser;
+		this.tunnelUser=tunnelUser;
 	}
 
@@ -115,5 +116,5 @@
 
 	public void setTunnelPassword(String tunnelPassword) {
-		this.tunnelPassword = tunnelPassword;
+		this.tunnelPassword=tunnelPassword;
 	}
 
@@ -124,5 +125,5 @@
 
 	public void setPort(String port) {
-		this.port = port;
+		this.port=port;
 	}
 
@@ -133,5 +134,5 @@
 
 	public void setTunnelServer(String tunnelServer) {
-		this.tunnelServer = tunnelServer;
+		this.tunnelServer=tunnelServer;
 	}
 
@@ -141,6 +142,6 @@
 	}
 
-	public void setDateCreated(Date created) {
-		this.dateCreated = created;
+	public void setDateCreated(Date dateCreated) {
+		this.dateCreated=dateCreated;
 	}
 
@@ -152,5 +153,5 @@
 
 	public void setProject(Project project) {
-		this.project = project;
+		this.project=project;
 	}
 
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 dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Person.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -28,5 +28,5 @@
 */
 @Entity
-@Table(schema = "epm_main", name = "person")
+@Table (schema="epm_main", name="person")
 public class Person implements java.io.Serializable {
 	private long personId;
@@ -36,4 +36,5 @@
 	private String userName;
 	private String authString;
+
 
 	@Id
@@ -46,5 +47,5 @@
 
 	public void setPersonId(long personId) {
-		this.personId = personId;
+		this.personId=personId;
 	}
 
@@ -55,5 +56,5 @@
 
 	public void setFirstName(String firstName) {
-		this.firstName = firstName;
+		this.firstName=firstName;
 	}
 
@@ -64,5 +65,5 @@
 
 	public void setLastName(String lastName) {
-		this.lastName = lastName;
+		this.lastName=lastName;
 	}
 
@@ -73,5 +74,5 @@
 
 	public void setEmail(String email) {
-		this.email = email;
+		this.email=email;
 	}
 
@@ -82,5 +83,5 @@
 
 	public void setUserName(String userName) {
-		this.userName = userName;
+		this.userName=userName;
 	}
 
@@ -91,5 +92,5 @@
 
 	public void setAuthString(String authString) {
-		this.authString = authString;
+		this.authString=authString;
 	}
 
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Project.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Project.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Project.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -33,8 +33,11 @@
 	private String title;
 	private String description;
+	private Date startDate;
+	private Date finishDate;
 	private List<Responsibility> responsibilities = new ArrayList<Responsibility>();
 	private List<Repository> repositories = new ArrayList<Repository>();
 	private List<Database> databases = new ArrayList<Database>();
 	private List<Activity> activities = new ArrayList<Activity>();
+	private List<CourseProject> courseProjects = new ArrayList<CourseProject>();
 
 
@@ -67,4 +70,22 @@
 	public void setDescription(String description) {
 		this.description=description;
+	}
+
+	@Column(name = "start_date")
+	public Date getStartDate() {
+		return this.startDate;
+	}
+
+	public void setStartDate(Date startDate) {
+		this.startDate=startDate;
+	}
+
+	@Column(name = "finish_date")
+	public Date getFinishDate() {
+		return this.finishDate;
+	}
+
+	public void setFinishDate(Date finishDate) {
+		this.finishDate=finishDate;
 	}
 
@@ -105,3 +126,12 @@
 	}
 
+	@OneToMany(fetch = FetchType.LAZY, mappedBy = "project")
+	public List<CourseProject> getCourseProjects() {
+		return this.courseProjects;
+	}
+
+	public void setCourseProjects(List<CourseProject> courseProjects) {
+		this.courseProjects=courseProjects;
+	}
+
 }
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Repository.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Repository.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/Repository.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -28,5 +28,5 @@
 */
 @Entity
-@Table(schema = "epm_main", name = "repository")
+@Table (schema="epm_main", name="repository")
 public class Repository implements java.io.Serializable {
 	private long repositoryId;
@@ -39,4 +39,5 @@
 	private Project project;
 
+
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -48,5 +49,5 @@
 
 	public void setRepositoryId(long repositoryId) {
-		this.repositoryId = repositoryId;
+		this.repositoryId=repositoryId;
 	}
 
@@ -57,5 +58,5 @@
 
 	public void setTitle(String title) {
-		this.title = title;
+		this.title=title;
 	}
 
@@ -66,5 +67,14 @@
 
 	public void setUrl(String url) {
-		this.url = url;
+		this.url=url;
+	}
+
+	@Column(name = "date_created")
+	public Date getDateCreated() {
+		return this.dateCreated;
+	}
+
+	public void setDateCreated(Date dateCreated) {
+		this.dateCreated=dateCreated;
 	}
 
@@ -75,14 +85,5 @@
 
 	public void setType(String type) {
-		this.type = type;
-	}
-
-	@Column(name = "date_created")
-	public Date getDateCreated() {
-		return this.dateCreated;
-	}
-
-	public void setDateCreated(Date created) {
-		this.dateCreated = created;
+		this.type=type;
 	}
 
@@ -94,5 +95,5 @@
 
 	public void setPerson(Person person) {
-		this.person = person;
+		this.person=person;
 	}
 
@@ -104,5 +105,5 @@
 
 	public void setTeam(Team team) {
-		this.team = team;
+		this.team=team;
 	}
 
@@ -114,5 +115,5 @@
 
 	public void setProject(Project project) {
-		this.project = project;
+		this.project=project;
 	}
 
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkEvaluation.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkEvaluation.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkEvaluation.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -35,5 +35,7 @@
 	private Float percentEvaluated;
 	private Float points;
+	private Date evaluationDate;
 	private WorkReport workReport;
+	private Person person;
 
 
@@ -86,4 +88,12 @@
 	}
 
+	@Column(name = "evaluation_date")
+	public Date getEvaluationDate() {
+		return this.evaluationDate;
+	}
+
+	public void setEvaluationDate(Date evaluationDate) {
+		this.evaluationDate=evaluationDate;
+	}
 	@ManyToOne(fetch = FetchType.LAZY)
 	@JoinColumn(name = "work_report_id", nullable = false, foreignKey = @ForeignKey(name = "fk_work_evaluation_work_report"))
@@ -96,3 +106,13 @@
 	}
 
+	@ManyToOne(fetch = FetchType.LAZY)
+	@JoinColumn(name = "person_id", nullable = true, foreignKey = @ForeignKey(name = "fk_work_evaluation_person"))
+	public Person getPerson() {
+		return this.person;
+	}
+
+	public void setPerson(Person person) {
+		this.person=person;
+	}
+
 }
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkReport.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkReport.java	(revision dbf79fefd367ad7d7d06c7d7bea55d95231af444)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/entities/WorkReport.java	(revision 64b0afdb979cec0063d3aaa80086f25134ad1cc7)
@@ -34,8 +34,10 @@
 	private String description;
 	private Float percentReported;
+	private Date submissionDate;
 	private Activity activity;
 	private Person person;
 	private WorkReport continuationOfWorkReport;
 	private Team team;
+	private List<WorkEvaluation> workEvaluations = new ArrayList<WorkEvaluation>();
 
 
@@ -77,4 +79,13 @@
 	public void setPercentReported(Float percentReported) {
 		this.percentReported=percentReported;
+	}
+
+	@Column(name = "submission_date")
+	public Date getSubmissionDate() {
+		return this.submissionDate;
+	}
+
+	public void setSubmissionDate(Date submissionDate) {
+		this.submissionDate=submissionDate;
 	}
 
@@ -119,3 +130,12 @@
 	}
 
+	@OneToMany(fetch = FetchType.LAZY, mappedBy = "workReport")
+	public List<WorkEvaluation> getWorkEvaluations() {
+		return this.workEvaluations;
+	}
+
+	public void setWorkEvaluations(List<WorkEvaluation> workEvaluations) {
+		this.workEvaluations=workEvaluations;
+	}
+
 }
