diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/pom.xml b/.idea/pom.xml
new file mode 100644
index 0000000..d63a425
--- /dev/null
+++ b/.idea/pom.xml
@@ -0,0 +1,89 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.3.5
+
+
+ com.example
+ NursesAssociation
+ 0.0.1-SNAPSHOT
+ NursesAssociation
+ NursesAssociation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17
+ 22
+ 22
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+
+
+
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java b/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java
new file mode 100644
index 0000000..9051df0
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Chapter.java
@@ -0,0 +1,73 @@
+package com.example.nursesassociation.Model;
+
+import jakarta.persistence.*; // Ensure you're using the correct import for Jakarta Persistence
+import java.util.List;
+
+@Entity
+@Table(name = "chapters")
+public class Chapter {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ private String name;
+ private String district;
+
+ @OneToOne
+ @JoinColumn(name = "president_id")
+ private Member president; // Reference to the Member entity
+
+ @OneToMany(mappedBy = "chapter")
+ private List members; // List of members in this chapter
+
+ // Constructors
+ public Chapter() {}
+
+ public Chapter(String name, String district, Member president) {
+ this.name = name;
+ this.district = district;
+ this.president = president;
+ }
+
+ // Getters and Setters
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDistrict() {
+ return district;
+ }
+
+ public void setDistrict(String district) {
+ this.district = district;
+ }
+
+ public Member getPresident() {
+ return president;
+ }
+
+ public void setPresident(Member president) {
+ this.president = president;
+ }
+
+ public List getMembers() {
+ return members;
+ }
+
+ public void setMembers(List members) {
+ this.members = members;
+ }
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java b/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java
new file mode 100644
index 0000000..fb4e1b6
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Conference.java
@@ -0,0 +1,27 @@
+package com.example.nursesassociation.Model;
+
+import jakarta.persistence.DiscriminatorValue;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jdk.jfr.Event;
+import lombok.Getter;
+import lombok.Setter;
+
+
+import java.util.List;
+
+@Entity
+@DiscriminatorValue("CONFERENCE")
+public class Conference extends Event {
+
+ @OneToMany(mappedBy = "conference")
+ private List speakers;
+ @Getter
+ @Setter
+ @Id
+ private Long id;
+
+ // Getters and Setters
+}
+
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Event.java b/.idea/src/main/java/com/example/nursesassociation/Model/Event.java
new file mode 100644
index 0000000..e5060b6
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Event.java
@@ -0,0 +1,61 @@
+package com.example.nursesassociation.Model;
+
+import jakarta.persistence.*;
+import org.antlr.v4.runtime.misc.NotNull;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
+@DiscriminatorColumn(name = "event_type")
+public abstract class Event {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ @NotNull
+ private LocalDate date;
+
+ private int duration; // duration in hours
+
+ private String location;
+
+ @NotNull
+ private String title;
+
+ @ManyToMany
+ @JoinTable(
+ name = "event_guests",
+ joinColumns = @JoinColumn(name = "event_id"),
+ inverseJoinColumns = @JoinColumn(name = "guest_id"))
+ private List guests = new ArrayList<>();
+
+ // Getters and Setters
+
+ public void addGuest(Guest guest) {
+ if (!guests.contains(guest)) {
+ guests.add((com.example.nursesassociation.Model.Guest) guest);
+ }
+ }
+
+ public void removeGuest(Guest guest) {
+ guests.remove(guest);
+ }
+
+ @Override
+ public String toString() {
+ return "Event{" +
+ "id=" + id +
+ ", date=" + date +
+ ", duration=" + duration +
+ ", location='" + location + '\'' +
+ ", title='" + title + '\'' +
+ '}';
+ }
+
+ public abstract String getDescription();
+}
+
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java b/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java
new file mode 100644
index 0000000..a4b4e3b
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Guest.java
@@ -0,0 +1,24 @@
+package com.example.nursesassociation.Model;
+
+import jakarta.persistence.*;
+
+
+@Entity
+public class Guest {
+
+ public enum Response {
+ ATTENDING, NOT_ATTENDING, NO_RESPONSE
+ }
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ private String name;
+
+ @Enumerated(EnumType.STRING)
+ private Response response;
+
+ // Getters and Setters
+}
+
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Member.java b/.idea/src/main/java/com/example/nursesassociation/Model/Member.java
new file mode 100644
index 0000000..fa2f233
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Member.java
@@ -0,0 +1,51 @@
+package com.example.nursesassociation.Model;
+
+import jakarta.persistence.*;
+
+@Entity
+@Table(name = "members")
+public class Member {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ private String name;
+
+ @ManyToOne
+ @JoinColumn(name = "chapter_id")
+ private Chapter chapter; // Reference back to the Chapter
+
+ // Constructors
+ public Member() {}
+
+ public Member(String name, Chapter chapter) {
+ this.name = name;
+ this.chapter = chapter;
+ }
+
+ // Getters and Setters
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Chapter getChapter() {
+ return chapter;
+ }
+
+ public void setChapter(Chapter chapter) {
+ this.chapter = chapter;
+ }
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java b/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java
new file mode 100644
index 0000000..83a93bc
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Model/Speaker.java
@@ -0,0 +1,23 @@
+package com.example.nursesassociation.Model;
+
+import com.example.nursesassociation.Model.Conference;
+import jakarta.persistence.*;
+
+
+@Entity
+public class Speaker {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ private String name;
+
+ private int presentationDuration; // Duration in minutes
+
+ @ManyToOne
+ @JoinColumn(name = "conference_id")
+ private Conference conference;
+
+ // Getters and Setters
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java b/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java
new file mode 100644
index 0000000..8077d40
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/NursesAssociationApplication.java
@@ -0,0 +1,13 @@
+package com.example.nursesassociation;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class NursesAssociationApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(NursesAssociationApplication.class, args);
+ }
+
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java
new file mode 100644
index 0000000..1c401ff
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ChapterRepository.java
@@ -0,0 +1,4 @@
+package com.example.nursesassociation.Repository;
+
+public interface ChapterRepository {
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java
new file mode 100644
index 0000000..f29841e
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ConferenceRepository.java
@@ -0,0 +1,6 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ConferenceRepository extends JpaRepository {
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java
new file mode 100644
index 0000000..77e06b2
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/EventRepository.java
@@ -0,0 +1,7 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.w3c.dom.events.Event;
+
+public interface EventRepository extends JpaRepository {
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java
new file mode 100644
index 0000000..e5e1c98
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/ExpositionRepository.java
@@ -0,0 +1,6 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ExpositionRepository extends JpaRepository {
+}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java
new file mode 100644
index 0000000..baa3107
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/GuestRepository.java
@@ -0,0 +1,6 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+
+public interface GuestRepository extends JpaRepository {}
\ No newline at end of file
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java
new file mode 100644
index 0000000..0f23b73
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/MemberRepository.java
@@ -0,0 +1,6 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+
+public interface MemberRepository extends JpaRepository {}
diff --git a/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java b/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java
new file mode 100644
index 0000000..c108526
--- /dev/null
+++ b/.idea/src/main/java/com/example/nursesassociation/Repository/SpeakerRepository.java
@@ -0,0 +1,6 @@
+package com.example.nursesassociation.Repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+
+public interface SpeakerRepository extends JpaRepository {}
diff --git a/.idea/src/main/resources/application.properties b/.idea/src/main/resources/application.properties
new file mode 100644
index 0000000..2db3e18
--- /dev/null
+++ b/.idea/src/main/resources/application.properties
@@ -0,0 +1,6 @@
+spring.datasource.url=jdbc:mysql://localhost:3306/nurses_db
+spring.datasource.username=root
+spring.datasource.password=Tedipapa1684/
+spring.jpa.hibernate.ddl-auto=update
+logging.level.root=DEBUG
+
diff --git a/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java b/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java
new file mode 100644
index 0000000..475cb19
--- /dev/null
+++ b/.idea/src/test/java/com/example/nursesassociation/NursesAssociationApplicationTests.java
@@ -0,0 +1,13 @@
+package com.example.nursesassociation;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class NursesAssociationApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..d843f34
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file