Index: cker-compose.yml
===================================================================
--- docker-compose.yml	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ 	(revision )
@@ -1,17 +1,0 @@
-version: '3.8'
-services:
-  postgresdb:
-    image: postgres:15
-    container_name: my_postgres
-    restart: always
-    environment:
-      POSTGRES_DB: Reportium
-      POSTGRES_USER: postgres
-      POSTGRES_PASSWORD: postgres
-    ports:
-      - "5432:5432"
-    volumes:
-      - pgdata:/var/lib/postgresql/data
-
-volumes:
-  pgdata:
Index: pom.xml
===================================================================
--- pom.xml	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ pom.xml	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -72,4 +72,15 @@
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <!-- Download csv file -->
+        <dependency>
+            <groupId>com.github.librepdf</groupId>
+            <artifactId>openpdf</artifactId>
+            <version>1.3.30</version>
+        </dependency>
+
     </dependencies>
 
Index: src/main/java/apps/spring/reportium/service/ReportService.java
===================================================================
--- src/main/java/apps/spring/reportium/service/ReportService.java	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ src/main/java/apps/spring/reportium/service/ReportService.java	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -1,8 +1,5 @@
 package apps.spring.reportium.service;
 
-import apps.spring.reportium.entity.DTOs.AcademicReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.CrimeReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.EmploymentReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.MedicalReportPerPersonDTO;
+import apps.spring.reportium.entity.DTOs.*;
 import apps.spring.reportium.entity.Report;
 import org.springframework.data.domain.Page;
@@ -18,3 +15,6 @@
 //    Page<Report> findPage(Integer reportId, Integer pageNum, Integer pageSize);
     Page<Report> findPaginatedReports(int page, int size, String sortField, String sortDir);
+
+    List<Report> getReportsByTypeViews(List<String> reportTypes);
+    List<Report> getReportsByAdvancedFilter(ReportFilterDTO filter);
 }
Index: src/main/java/apps/spring/reportium/service/impl/ReportServiceImplementation.java
===================================================================
--- src/main/java/apps/spring/reportium/service/impl/ReportServiceImplementation.java	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ src/main/java/apps/spring/reportium/service/impl/ReportServiceImplementation.java	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -1,8 +1,5 @@
 package apps.spring.reportium.service.impl;
 
-import apps.spring.reportium.entity.DTOs.AcademicReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.CrimeReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.EmploymentReportPerPersonDTO;
-import apps.spring.reportium.entity.DTOs.MedicalReportPerPersonDTO;
+import apps.spring.reportium.entity.DTOs.*;
 import apps.spring.reportium.entity.Report;
 import apps.spring.reportium.repository.ReportRepository;
@@ -58,3 +55,13 @@
         return reportRepository.findAll(pageable);
     }
+
+    @Override
+    public List<Report> getReportsByTypeViews(List<String> reportTypes) {
+        return List.of();
+    }
+
+    @Override
+    public List<Report> getReportsByAdvancedFilter(ReportFilterDTO filter) {
+        return List.of();
+    }
 }
Index: src/main/java/apps/spring/reportium/web/ReportsController.java
===================================================================
--- src/main/java/apps/spring/reportium/web/ReportsController.java	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ src/main/java/apps/spring/reportium/web/ReportsController.java	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -34,6 +34,6 @@
         model.addAttribute("sortDir", sortDir);
         model.addAttribute("reverseSortDir", sortDir.equals("asc") ? "desc" : "asc");
-
         return "reports";
     }
+
 }
Index: src/main/resources/application.properties
===================================================================
--- src/main/resources/application.properties	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ src/main/resources/application.properties	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -4,5 +4,5 @@
 server.servlet.session.timeout=1200s
 
-server.error.include-message=always
-server.error.include-stacktrace=always
-logging.level.org.springframework=DEBUG
+#server.error.include-message=always
+#server.error.include-stacktrace=always
+#logging.level.org.springframework=DEBUG
Index: src/main/resources/templates/reports.html
===================================================================
--- src/main/resources/templates/reports.html	(revision b98d04941a98375610c7a5dc4c08cc28c31fb10f)
+++ src/main/resources/templates/reports.html	(revision 587f0e67db33a6768099bc4cf0f4105957090c23)
@@ -125,5 +125,47 @@
 <div class="container mt-5">
     <h2>All Reports</h2>
-
+    <div class="mb-4">
+        <div class="container mb-4">
+            <div class="border rounded p-3 bg-light">
+                <h5 class="fw-bold mb-3 text-center">Filter Mode Panel</h5>
+                <div class="row">
+                    <div class="col-9 border-end border-secondary-subtle">
+                        <form th:action="@{/view_reports}" method="get" id="differentReportForm"
+                              class="d-flex justify-content-between align-items-center">
+                            <div>
+                                <h4>Select one of the report types:</h4>
+                                <div class="d-flex justify-content-between gap-2">
+                                    <label id="employment" class="text-dark fw-bolder"><input type="radio"
+                                                                                              name="reportView"
+                                                                                              value="EMPLOYMENT">
+                                        Employment</label>
+                                    <label id="criminal" class="text-dark fw-bolder"><input type="radio"
+                                                                                            name="reportView"
+                                                                                            value="CRIMINAL">
+                                        Criminal</label>
+                                    <label id="academic" class="text-dark fw-bolder"><input type="radio"
+                                                                                            name="reportView"
+                                                                                            value="ACADEMIC">
+                                        Academic</label>
+                                    <label id="medical" class="text-dark fw-bolder"><input type="radio"
+                                                                                           name="reportView"
+                                                                                           value="MEDICAL">
+                                        Medical</label>
+                                </div>
+                            </div>
+                            <button type="submit" class="btn btn-outline-primary" id="joinButton" disabled
+                                    title="Click to view joined data from selected report types">
+                                View Selected Reports
+                            </button>
+                        </form>
+                    </div>
+                    <div class="col-3 d-flex align-items-center justify-content-center">
+                        <a th:href="@{/advanced_filter}" methods="get" class="btn btn-outline-secondary"
+                           id="advancedFilterBtn" title="Make your own advanced filtering">Use Advanced Filter</a>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
     <table class="table table-striped table-hover table-bordered align-middle">
         <thead>
@@ -193,4 +235,19 @@
 </div>
 
+<script>
+    const radioButtons = document.querySelectorAll("input[name='reportView']");
+    const joinButton = document.getElementById("joinButton");
+
+    function updateJoinButton() {
+        const selected = Array.from(radioButtons).some(r => r.checked);
+        joinButton.disabled = !selected;
+    }
+
+    radioButtons.forEach(rb => {
+        rb.addEventListener("change", updateJoinButton);
+    });
+    updateJoinButton();
+</script>
+
 </body>
 </html>
