Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/bootstrap/DataHolder.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/bootstrap/DataHolder.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/bootstrap/DataHolder.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,66 @@
+package mk.ukim.finki.it.reservengo.bootstrap;
+
+import jakarta.annotation.PostConstruct;
+import mk.ukim.finki.it.reservengo.model.*;
+import mk.ukim.finki.it.reservengo.model.enumerations.*;
+import mk.ukim.finki.it.reservengo.repository.*;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Component
+public class DataHolder {
+    public static Admin admin = null;
+    public static List<Customer> customers = new ArrayList<>();
+    public static List<LocalWorker> workers = new ArrayList<>();
+    public static List<LocalManager> managers = new ArrayList<>();
+    public static List<Event> events = new ArrayList<>();
+    public static List<Reservation> reservations = new ArrayList<>();
+    public static List<Local> locals = new ArrayList<>();
+
+    private final AdminRepository adminRepository;
+    private final CustomerRepository customerRepository;
+    private final EventRepository eventRepository;
+    private final LocalManagerRepository localManagerRepository;
+    private final LocalRepository localRepository;
+    private final LocalWorkerRepository localWorkerRepository;
+    private final ReservationRepository reservationRepository;
+    private final PasswordEncoder passwordEncoder;
+
+    public DataHolder(AdminRepository adminRepository, CustomerRepository customerRepository, EventRepository eventRepository, LocalManagerRepository localManagerRepository, LocalRepository localRepository, LocalWorkerRepository localWorkerRepository, ReservationRepository reservationRepository, PasswordEncoder passwordEncoder) {
+        this.adminRepository = adminRepository;
+        this.customerRepository = customerRepository;
+        this.eventRepository = eventRepository;
+        this.localManagerRepository = localManagerRepository;
+        this.localRepository = localRepository;
+        this.localWorkerRepository = localWorkerRepository;
+        this.reservationRepository = reservationRepository;
+        this.passwordEncoder = passwordEncoder;
+    }
+
+    @PostConstruct
+    public void init() {
+        // Admin
+        admin = new Admin("admin", passwordEncoder.encode("admin"), Role.ADMIN);
+        adminRepository.save(admin);
+
+        // Customers
+        for (int i = 1; i <= 3; i++) {
+            Customer customer = new Customer(
+                    "Customer " + i,
+                    "Customer " + i,
+                    "customer" + i + "@example.com",
+                    passwordEncoder.encode("password" + i),
+                    "Phone" + i,
+                    Role.CUSTOMER
+            );
+            customers.add(customer);
+        }
+        customerRepository.saveAll(customers);
+
+        // Print for debugging purposes
+        System.out.println("Initialization complete!");
+    }
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,42 @@
+package mk.ukim.finki.it.reservengo.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
+import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer;
+import org.springframework.security.web.SecurityFilterChain;
+
+@Configuration
+@EnableWebSecurity
+@EnableMethodSecurity
+public class WebSecurityConfig {
+
+    @Bean
+    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+
+        http.csrf(AbstractHttpConfigurer::disable)
+                .headers((headers) -> headers
+                        .frameOptions(HeadersConfigurer.FrameOptionsConfig::sameOrigin)
+                )
+                .authorizeHttpRequests((requests) -> requests
+                        .requestMatchers("/**")
+                        .permitAll()
+                )
+                .formLogin((form) -> form
+                        .permitAll()
+                        .defaultSuccessUrl("/", true)
+                )
+                .logout((logout) -> logout
+                        .clearAuthentication(true)
+                        .invalidateHttpSession(true)
+                        .deleteCookies("JSESSIONID")
+                        .logoutSuccessUrl("/login")
+                );
+
+        return http.build();
+    }
+
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/AdminRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/AdminRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/AdminRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.Admin;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface AdminRepository extends JpaRepository<Admin, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/CustomerRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/CustomerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/CustomerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.Customer;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CustomerRepository extends JpaRepository<Customer, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/EventRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/EventRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/EventRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.Event;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface EventRepository extends JpaRepository<Event, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalManagerRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalManagerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalManagerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.LocalManager;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface LocalManagerRepository extends JpaRepository<LocalManager, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.Local;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface LocalRepository extends JpaRepository<Local, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalWorkerRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalWorkerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalWorkerRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.LocalWorker;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface LocalWorkerRepository extends JpaRepository<LocalWorker, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/ReservationRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/ReservationRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/ReservationRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,9 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.Reservation;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface ReservationRepository extends JpaRepository<Reservation, Long> {
+}
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/UserRepository.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/UserRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/UserRepository.java	(revision d39d68b29f49f538a4646e5ae49fe5d5846ef8cd)
@@ -0,0 +1,10 @@
+package mk.ukim.finki.it.reservengo.repository;
+
+import mk.ukim.finki.it.reservengo.model.User;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface UserRepository extends JpaRepository<User, Long> {
+
+}
