diff --git a/backend/settings.gradle b/backend/settings.gradle
index 0f5036dcc20c98777024d86546cd03aa9307dedd..57ae301bf466e046ffa589c753bfaa65d23f3de8 100644
--- a/backend/settings.gradle
+++ b/backend/settings.gradle
@@ -1 +1 @@
-rootProject.name = 'backend'
+rootProject.name = 'ignis'
diff --git a/backend/src/main/java/hu/ignis/BackendApplication.java b/backend/src/main/java/hu/ignis/BackendApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..1145adab7836fdd09456e223fc4d331879874656
--- /dev/null
+++ b/backend/src/main/java/hu/ignis/BackendApplication.java
@@ -0,0 +1,11 @@
+package hu.ignis;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class BackendApplication {
+	public static void main(String[] args) {
+		SpringApplication.run(BackendApplication.class, args);
+	}
+}
\ No newline at end of file
diff --git a/backend/src/main/java/hu/ignis/config/RestConfig.java b/backend/src/main/java/hu/ignis/config/RestConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..f7f7fa12a5d7fe416a3d870bae4e1c4eeaf5a20f
--- /dev/null
+++ b/backend/src/main/java/hu/ignis/config/RestConfig.java
@@ -0,0 +1,20 @@
+package hu.ignis.config;
+
+import hu.ignis.model.Order;
+import hu.ignis.model.OrderItem;
+import hu.ignis.model.Product;
+import hu.ignis.model.User;
+import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
+import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurer;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+
+// Optional: Configure the REST API to expose IDs
+@Component
+public class RestConfig implements RepositoryRestConfigurer {
+    @Override
+    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config, CorsRegistry cors) {
+        // Expose entity IDs in REST responses
+        config.exposeIdsFor(User.class, Product.class, Order.class, OrderItem.class);
+    }
+}
diff --git a/backend/src/main/java/kisbe32/backend/WebConfig.java b/backend/src/main/java/hu/ignis/config/WebConfig.java
similarity index 95%
rename from backend/src/main/java/kisbe32/backend/WebConfig.java
rename to backend/src/main/java/hu/ignis/config/WebConfig.java
index 77d5b97d6d506f0f3a1bef372952190cb9860875..5dbc0cb0047428a2880283c4d8e1e8af9be75bdb 100644
--- a/backend/src/main/java/kisbe32/backend/WebConfig.java
+++ b/backend/src/main/java/hu/ignis/config/WebConfig.java
@@ -1,4 +1,4 @@
-package kisbe32.backend;
+package hu.ignis.config;
 
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.CorsRegistry;
diff --git a/backend/src/main/java/kisbe32/backend/AuthController.java b/backend/src/main/java/hu/ignis/controller/AuthController.java
similarity index 92%
rename from backend/src/main/java/kisbe32/backend/AuthController.java
rename to backend/src/main/java/hu/ignis/controller/AuthController.java
index 54bc076cfc2b738a636487d5d3a421d67217f2cf..e0a80a47a112f9f6b1a2f843a398b6da770946f4 100644
--- a/backend/src/main/java/kisbe32/backend/AuthController.java
+++ b/backend/src/main/java/hu/ignis/controller/AuthController.java
@@ -1,5 +1,9 @@
-package kisbe32.backend;
+package hu.ignis.controller;
 
+import hu.ignis.dto.LoginRequest;
+import hu.ignis.dto.LoginResponse;
+import hu.ignis.model.User;
+import hu.ignis.repository.UserRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
diff --git a/backend/src/main/java/hu/ignis/dto/LoginRequest.java b/backend/src/main/java/hu/ignis/dto/LoginRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a60b1f6d1bc063c391c4124eded989d7c2cf7596
--- /dev/null
+++ b/backend/src/main/java/hu/ignis/dto/LoginRequest.java
@@ -0,0 +1,31 @@
+package hu.ignis.dto;
+
+public class LoginRequest {
+    private String username;
+    private String password;
+
+    // Default constructor needed for JSON deserialization
+    public LoginRequest() {
+    }
+
+    public LoginRequest(String username, String password) {
+        this.username = username;
+        this.password = password;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+}
diff --git a/backend/src/main/java/kisbe32/backend/LoginRequest.java b/backend/src/main/java/hu/ignis/dto/LoginResponse.java
similarity index 60%
rename from backend/src/main/java/kisbe32/backend/LoginRequest.java
rename to backend/src/main/java/hu/ignis/dto/LoginResponse.java
index dc236b46cd1321a58ecfbde4cd1c983bf74cdcf6..522f5468b1311e3fdbf4a964f01677975873f161 100644
--- a/backend/src/main/java/kisbe32/backend/LoginRequest.java
+++ b/backend/src/main/java/hu/ignis/dto/LoginResponse.java
@@ -1,35 +1,6 @@
-package kisbe32.backend;
+package hu.ignis.dto;
 
-class LoginRequest {
-    private String username;
-    private String password;
-    private String email;
-
-    // Default constructor needed for JSON deserialization
-    public LoginRequest() {}
-
-    public LoginRequest(String username, String password) {
-        this.username = username;
-        this.password = password;
-    }
-    
-    public LoginRequest(String username, String email, String password) {
-        this.username = username;
-        this.email = email;
-        this.password = password;
-    }
-
-    public String getUsername() { return username; }
-    public void setUsername(String username) { this.username = username; }
-
-    public String getPassword() { return password; }
-    public void setPassword(String password) { this.password = password; }
-    
-    public String getEmail() { return email; }
-    public void setEmail(String email) { this.email = email; }
-}
-
-class LoginResponse {
+public class LoginResponse {
     private boolean success;
     private Integer userId;
     private String username;
@@ -71,4 +42,4 @@ class LoginResponse {
     
     public String getRole() { return role; }
     public void setRole(String role) { this.role = role; }
-}
\ No newline at end of file
+}
diff --git a/backend/src/main/java/kisbe32/backend/Order.java b/backend/src/main/java/hu/ignis/model/Order.java
similarity index 98%
rename from backend/src/main/java/kisbe32/backend/Order.java
rename to backend/src/main/java/hu/ignis/model/Order.java
index 1e5b2f6e294887f93887c5f9bdad902e126b69bd..b55b69e541103fb0bc728bfd26e750675e0549ba 100644
--- a/backend/src/main/java/kisbe32/backend/Order.java
+++ b/backend/src/main/java/hu/ignis/model/Order.java
@@ -1,4 +1,4 @@
-package kisbe32.backend;
+package hu.ignis.model;
 
 import jakarta.persistence.*;
 import java.math.BigDecimal;
diff --git a/backend/src/main/java/kisbe32/backend/OrderItem.java b/backend/src/main/java/hu/ignis/model/OrderItem.java
similarity index 98%
rename from backend/src/main/java/kisbe32/backend/OrderItem.java
rename to backend/src/main/java/hu/ignis/model/OrderItem.java
index a84b82d46bbe8ec4fd906d504ae8b5d5d18e5c88..c09a33a1aa426206bea0f048cc4df1e393f63d65 100644
--- a/backend/src/main/java/kisbe32/backend/OrderItem.java
+++ b/backend/src/main/java/hu/ignis/model/OrderItem.java
@@ -1,4 +1,4 @@
-package kisbe32.backend;
+package hu.ignis.model;
 
 import jakarta.persistence.*;
 import java.math.BigDecimal;
diff --git a/backend/src/main/java/kisbe32/backend/Product.java b/backend/src/main/java/hu/ignis/model/Product.java
similarity index 98%
rename from backend/src/main/java/kisbe32/backend/Product.java
rename to backend/src/main/java/hu/ignis/model/Product.java
index 4cbcbddc49e4a785170b5d24678a717a1dde2937..b5eb0796ca2a89ef1963e23833c167339471380e 100644
--- a/backend/src/main/java/kisbe32/backend/Product.java
+++ b/backend/src/main/java/hu/ignis/model/Product.java
@@ -1,4 +1,4 @@
-package kisbe32.backend;
+package hu.ignis.model;
 
 import jakarta.persistence.*;
 
diff --git a/backend/src/main/java/kisbe32/backend/User.java b/backend/src/main/java/hu/ignis/model/User.java
similarity index 98%
rename from backend/src/main/java/kisbe32/backend/User.java
rename to backend/src/main/java/hu/ignis/model/User.java
index e4f6ffe09e299e8d2e65ec41f34c8b4afa46284d..9751e301b16676ba2297925159815153556df409 100644
--- a/backend/src/main/java/kisbe32/backend/User.java
+++ b/backend/src/main/java/hu/ignis/model/User.java
@@ -1,4 +1,4 @@
-package kisbe32.backend;
+package hu.ignis.model;
 
 import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
diff --git a/backend/src/main/java/kisbe32/backend/OrderItemRepository.java b/backend/src/main/java/hu/ignis/repository/OrderItemRepository.java
similarity index 78%
rename from backend/src/main/java/kisbe32/backend/OrderItemRepository.java
rename to backend/src/main/java/hu/ignis/repository/OrderItemRepository.java
index 087a503ac893b55840b7c4d19026d52be45862fa..1566f8415dcd74d22755b041cc1e66ba6b6d7911 100644
--- a/backend/src/main/java/kisbe32/backend/OrderItemRepository.java
+++ b/backend/src/main/java/hu/ignis/repository/OrderItemRepository.java
@@ -1,5 +1,6 @@
-package kisbe32.backend;
+package hu.ignis.repository;
 
+import hu.ignis.model.OrderItem;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@@ -7,7 +8,7 @@ import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 import java.util.List;
 
 @RepositoryRestResource(collectionResourceRel = "orderitems", path = "orderitems")
-interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
+public interface OrderItemRepository extends JpaRepository<OrderItem, Integer> {
     // Find order items by order ID
     List<OrderItem> findByOrderId(@Param("orderId") Integer orderId);
 
diff --git a/backend/src/main/java/kisbe32/backend/OrderRepository.java b/backend/src/main/java/hu/ignis/repository/OrderRepository.java
similarity index 78%
rename from backend/src/main/java/kisbe32/backend/OrderRepository.java
rename to backend/src/main/java/hu/ignis/repository/OrderRepository.java
index 2420475fc318842c0f3bb09a78247d7200406888..7876fcf7cc879543294c3c9a466eb067198ac621 100644
--- a/backend/src/main/java/kisbe32/backend/OrderRepository.java
+++ b/backend/src/main/java/hu/ignis/repository/OrderRepository.java
@@ -1,5 +1,6 @@
-package kisbe32.backend;
+package hu.ignis.repository;
 
+import hu.ignis.model.Order;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@@ -7,7 +8,7 @@ import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 import java.util.List;
 
 @RepositoryRestResource(collectionResourceRel = "orders", path = "orders")
-interface OrderRepository extends JpaRepository<Order, Integer> {
+public interface OrderRepository extends JpaRepository<Order, Integer> {
     // Find orders by user ID
     List<Order> findByUser_Id(@Param("userId") Integer userId);
 
diff --git a/backend/src/main/java/kisbe32/backend/ProductRepository.java b/backend/src/main/java/hu/ignis/repository/ProductRepository.java
similarity index 83%
rename from backend/src/main/java/kisbe32/backend/ProductRepository.java
rename to backend/src/main/java/hu/ignis/repository/ProductRepository.java
index 2494bc1df4adf193a06766978fbc285e3d4ff737..1ac0fc6c8b1c6353f09af0425ca6312f0c592612 100644
--- a/backend/src/main/java/kisbe32/backend/ProductRepository.java
+++ b/backend/src/main/java/hu/ignis/repository/ProductRepository.java
@@ -1,5 +1,6 @@
-package kisbe32.backend;
+package hu.ignis.repository;
 
+import hu.ignis.model.Product;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@@ -7,7 +8,7 @@ import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 import java.util.List;
 
 @RepositoryRestResource(collectionResourceRel = "products", path = "products")
-interface ProductRepository extends JpaRepository<Product, Integer> {
+public interface ProductRepository extends JpaRepository<Product, Integer> {
     // Find products by category
     List<Product> findByCategory(@Param("category") String category);
 
diff --git a/backend/src/main/java/kisbe32/backend/UserRepository.java b/backend/src/main/java/hu/ignis/repository/UserRepository.java
similarity index 80%
rename from backend/src/main/java/kisbe32/backend/UserRepository.java
rename to backend/src/main/java/hu/ignis/repository/UserRepository.java
index 11146dffd97da45521fef7bee8476416cf83a4d6..6c20ee74b93d18752c00806b9ce845ed0cd499a4 100644
--- a/backend/src/main/java/kisbe32/backend/UserRepository.java
+++ b/backend/src/main/java/hu/ignis/repository/UserRepository.java
@@ -1,5 +1,6 @@
-package kisbe32.backend;
+package hu.ignis.repository;
 
+import hu.ignis.model.User;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/backend/src/main/java/kisbe32/backend/BackendApplication.java b/backend/src/main/java/kisbe32/backend/BackendApplication.java
deleted file mode 100644
index 89448d855fbf887e1ae0461f296c5007b5d3c2ba..0000000000000000000000000000000000000000
--- a/backend/src/main/java/kisbe32/backend/BackendApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package kisbe32.backend;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
-import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurer;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@SpringBootApplication
-public class BackendApplication {
-	public static void main(String[] args) {
-		SpringApplication.run(BackendApplication.class, args);
-	}
-}
-
-// Optional: Configure the REST API to expose IDs
-@Component
-class RestConfig implements RepositoryRestConfigurer {
-	@Override
-	public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config, CorsRegistry cors) {
-		// Expose entity IDs in REST responses
-		config.exposeIdsFor(User.class, Product.class, Order.class, OrderItem.class);
-	}
-}
\ No newline at end of file
diff --git a/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java b/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..abecf9ad7f202bfa39af41d6a3405dbcdc2034e4
--- /dev/null
+++ b/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java
@@ -0,0 +1,29 @@
+package hu.ignis.dto;
+
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * Unit tests for the LoginRequest class.
+ */
+class LoginRequestTest {
+
+    @Test
+    void testLoginRequestConstructorAndGetters() {
+        LoginRequest request = new LoginRequest("user", "password");
+
+        assertThat(request.getUsername()).isEqualTo("user");
+        assertThat(request.getPassword()).isEqualTo("password");
+    }
+
+    @Test
+    void testSetters() {
+        LoginRequest request = new LoginRequest();
+        request.setUsername("newUser");
+        request.setPassword("newPassword");
+
+        assertThat(request.getUsername()).isEqualTo("newUser");
+        assertThat(request.getPassword()).isEqualTo("newPassword");
+    }
+}
\ No newline at end of file
diff --git a/backend/src/test/java/kisbe32/backend/ApiIntegrationTest.java b/backend/src/test/java/kisbe32/backend/ApiIntegrationTest.java
deleted file mode 100644
index 6003157042681a295212f13c13b692cb0283216d..0000000000000000000000000000000000000000
--- a/backend/src/test/java/kisbe32/backend/ApiIntegrationTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package kisbe32.backend;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.web.client.TestRestTemplate;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.http.*;
-import org.springframework.test.context.ActiveProfiles;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-@ActiveProfiles("test")
-public class ApiIntegrationTest {
-
-    @Autowired
-    private TestRestTemplate restTemplate;
-
-    @Autowired
-    private ProductRepository productRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private OrderRepository orderRepository;
-
-    @Autowired
-    private OrderItemRepository orderItemRepository;
-
-    @Test
-    public void testGetProducts() {
-        // Given: Add test products
-        Product product1 = new Product("Product 1", "Description 1", new BigDecimal("10.99"), 5, "Category 1");
-        Product product2 = new Product("Product 2", "Description 2", new BigDecimal("15.99"), 10, "Category 2");
-        productRepository.saveAll(List.of(product1, product2));
-
-        // When: Request is made to get all products
-        ResponseEntity<Map<String, Object>> response = restTemplate.exchange(
-                "/api/products",
-                HttpMethod.GET,
-                null,
-                new ParameterizedTypeReference<Map<String, Object>>() {}
-        );
-
-        // Then: The response should contain products
-        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
-        assertThat(response.getBody()).isNotNull();
-        List<Map<String, Object>> products = (List<Map<String, Object>>) response.getBody().get("_embedded");
-        assertThat(products).isNotEmpty();
-    }
-
-    @Test
-    public void testCreateOrderAndOrderItems() {
-        // Given: A user and products exist
-        User user = new User("testuser", "test@example.com", "password");
-        userRepository.save(user);
-
-        Product product = new Product("Test Product", "Description", new BigDecimal("19.99"), 20, "Test Category");
-        productRepository.save(product);
-
-        // When: Create an order
-        Map<String, Object> orderRequest = new HashMap<>();
-        orderRequest.put("userId", user.getId());
-        orderRequest.put("status", "PENDING");
-
-        ResponseEntity<Map> orderResponse = restTemplate.postForEntity(
-                "/api/orders", orderRequest, Map.class);
-
-        // Then: The order should be created
-        assertThat(orderResponse.getStatusCode()).isEqualTo(HttpStatus.CREATED);
-        String orderLocation = orderResponse.getHeaders().getLocation().toString();
-
-        // When: Create an order item
-        Map<String, Object> orderItemRequest = new HashMap<>();
-        orderItemRequest.put("orderId", getIdFromLocation(orderLocation));
-        orderItemRequest.put("productId", product.getId());
-        orderItemRequest.put("quantity", 2);
-        orderItemRequest.put("price", product.getPrice());
-
-        ResponseEntity<Map> orderItemResponse = restTemplate.postForEntity(
-                "/api/orderitems", orderItemRequest, Map.class);
-
-        // Then: The order item should be created
-        assertThat(orderItemResponse.getStatusCode()).isEqualTo(HttpStatus.CREATED);
-    }
-
-    @Test
-    public void testLogin() {
-        // Given: A user exists
-        String username = "loginuser";
-        String password = "password123";
-        User user = new User(username, "login@example.com", password);
-        userRepository.save(user);
-
-        // When: Login with valid credentials
-        AuthController.LoginRequest loginRequest = new AuthController.LoginRequest(username, password);
-
-        ResponseEntity<AuthController.LoginResponse> response = restTemplate.postForEntity(
-                "/api/login", loginRequest, AuthController.LoginResponse.class);
-
-        // Then: Should get successful response
-        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
-        assertThat(response.getBody().isSuccess()).isTrue();
-        assertThat(response.getBody().getUserId()).isEqualTo(user.getId());
-
-        // When: Login with invalid password
-        loginRequest.setPassword("wrongpassword");
-        ResponseEntity<AuthController.LoginResponse> failedResponse = restTemplate.postForEntity(
-                "/api/login", loginRequest, AuthController.LoginResponse.class);
-
-        // Then: Should get unauthorized response
-        assertThat(failedResponse.getStatusCode()).isEqualTo(HttpStatus.UNAUTHORIZED);
-        assertThat(failedResponse.getBody().isSuccess()).isFalse();
-    }
-
-    private Integer getIdFromLocation(String location) {
-        return Integer.parseInt(location.substring(location.lastIndexOf("/") + 1));
-    }
-}
\ No newline at end of file