Index: src/main/java/mk/ukim/finki/easyfood/model/Menu.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/model/Menu.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/model/Menu.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -30,3 +30,7 @@
 
     // getters and setters
+
+    public Long getId() {
+        return id;
+    }
 }
Index: src/main/java/mk/ukim/finki/easyfood/model/Restaurant.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/model/Restaurant.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/model/Restaurant.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -27,4 +27,6 @@
     private String name;
 
+
+
     @Column(name = "website_url", length = 255)
     private String websiteUrl;
@@ -44,3 +46,75 @@
 
     // getters and setters
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Address getAddress() {
+        return address;
+    }
+
+    public void setAddress(Address address) {
+        this.address = address;
+    }
+
+    public List<RestaurantOwner> getOwners() {
+        return owners;
+    }
+
+    public void setOwners(List<RestaurantOwner> owners) {
+        this.owners = owners;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getWebsiteUrl() {
+        return websiteUrl;
+    }
+
+    public void setWebsiteUrl(String websiteUrl) {
+        this.websiteUrl = websiteUrl;
+    }
+
+    public LocalTime getOpeningTime() {
+        return openingTime;
+    }
+
+    public void setOpeningTime(LocalTime openingTime) {
+        this.openingTime = openingTime;
+    }
+
+    public LocalTime getClosingTime() {
+        return closingTime;
+    }
+
+    public void setClosingTime(LocalTime closingTime) {
+        this.closingTime = closingTime;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getPhoneNumber() {
+        return phoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        this.phoneNumber = phoneNumber;
+    }
 }
Index: src/main/java/mk/ukim/finki/easyfood/repository/MenuRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/repository/MenuRepository.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/repository/MenuRepository.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -8,4 +8,4 @@
 @Repository
 public interface MenuRepository extends JpaRepository<Menu, Long> {
-    Menu findByRestaurant(Restaurant restaurant);
+    Menu findByRestaurantId(Long restaurantId);
 }
Index: src/main/java/mk/ukim/finki/easyfood/repository/RestaurantRepository.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/repository/RestaurantRepository.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/repository/RestaurantRepository.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.easyfood.repository;
 
+import mk.ukim.finki.easyfood.model.Menu;
 import mk.ukim.finki.easyfood.model.Restaurant;
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -7,3 +8,4 @@
 @Repository
 public interface RestaurantRepository extends JpaRepository<Restaurant, Long> {
+
 }
Index: src/main/java/mk/ukim/finki/easyfood/service/ItemService.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/ItemService.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/service/ItemService.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -11,4 +11,5 @@
     List<Item> findAll();
     List<Item> findRecommendedItems();
-    List<Item> findItemsByRestaurantId(Long restaurantId);
+   // List<Item> findItemsByRestaurantId(Long restaurantId);
+    public List<Item> getItemsByMenuId(Long menuId);
 }
Index: src/main/java/mk/ukim/finki/easyfood/service/MenuService.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/MenuService.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
+++ src/main/java/mk/ukim/finki/easyfood/service/MenuService.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -0,0 +1,8 @@
+package mk.ukim.finki.easyfood.service;
+
+import mk.ukim.finki.easyfood.model.Menu;
+
+public interface MenuService {
+
+    public Menu getMenuByRestaurantId(Long restaurantId);
+}
Index: src/main/java/mk/ukim/finki/easyfood/service/RestaurantService.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/RestaurantService.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
+++ src/main/java/mk/ukim/finki/easyfood/service/RestaurantService.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -0,0 +1,8 @@
+package mk.ukim.finki.easyfood.service;
+
+import mk.ukim.finki.easyfood.model.Menu;
+import mk.ukim.finki.easyfood.model.Restaurant;
+
+public interface RestaurantService {
+    Restaurant findRestaurantById(Long id);
+}
Index: src/main/java/mk/ukim/finki/easyfood/service/impl/ItemServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/impl/ItemServiceImpl.java	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/java/mk/ukim/finki/easyfood/service/impl/ItemServiceImpl.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -41,13 +41,24 @@
     }
 
-    @Override
-    public List<Item> findItemsByRestaurantId(Long restaurantId) {
-        Restaurant restaurant = restaurantRepository.findById(restaurantId)
-                .orElseThrow(() -> new RuntimeException("Restaurant not found"));
+//    @Override
+//    public List<Item> findItemsByRestaurantId(Long restaurantId) {
+//        Restaurant restaurant = restaurantRepository.findById(restaurantId)
+//                .orElseThrow(() -> new RuntimeException("Restaurant not found"));
+//
+//        Menu menu = menuRepository.findByRestaurant(restaurant);
+//        if (menu == null) return List.of();
+//
+//        List<MenuItem> menuItems = menuItemRepository.findByMenu(menu);
+//        return menuItems.stream()
+//                .map(MenuItem::getItem)
+//                .collect(Collectors.toList());
+//    }
 
-        Menu menu = menuRepository.findByRestaurant(restaurant);
-        if (menu == null) return List.of();
+    public List<Item> getItemsByMenuId(Long menuId) {
+        Menu menu = menuRepository.findById(menuId)
+                .orElseThrow(() -> new RuntimeException("Menu not found"));
 
         List<MenuItem> menuItems = menuItemRepository.findByMenu(menu);
+
         return menuItems.stream()
                 .map(MenuItem::getItem)
Index: src/main/java/mk/ukim/finki/easyfood/service/impl/MenuServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/impl/MenuServiceImpl.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
+++ src/main/java/mk/ukim/finki/easyfood/service/impl/MenuServiceImpl.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -0,0 +1,20 @@
+package mk.ukim.finki.easyfood.service.impl;
+
+import mk.ukim.finki.easyfood.model.Menu;
+import mk.ukim.finki.easyfood.repository.MenuRepository;
+import mk.ukim.finki.easyfood.service.MenuService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MenuServiceImpl implements MenuService {
+    private final MenuRepository menuRepository;
+
+    public MenuServiceImpl(MenuRepository menuRepository) {
+        this.menuRepository = menuRepository;
+    }
+
+    public Menu getMenuByRestaurantId(Long restaurantId) {
+        return menuRepository.findByRestaurantId(restaurantId);
+    }
+
+}
Index: src/main/java/mk/ukim/finki/easyfood/service/impl/RestaurantServiceImpl.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/service/impl/RestaurantServiceImpl.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
+++ src/main/java/mk/ukim/finki/easyfood/service/impl/RestaurantServiceImpl.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -0,0 +1,23 @@
+package mk.ukim.finki.easyfood.service.impl;
+
+import mk.ukim.finki.easyfood.model.Menu;
+import mk.ukim.finki.easyfood.model.Restaurant;
+import mk.ukim.finki.easyfood.repository.RestaurantRepository;
+import mk.ukim.finki.easyfood.service.RestaurantService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RestaurantServiceImpl implements RestaurantService {
+    final private RestaurantRepository restaurantRepository;
+
+    public RestaurantServiceImpl(RestaurantRepository restaurantRepository) {
+        this.restaurantRepository = restaurantRepository;
+    }
+
+    @Override
+    public Restaurant findRestaurantById(Long id) {
+        return restaurantRepository.findById(id).orElse(null);
+    }
+
+
+}
Index: src/main/java/mk/ukim/finki/easyfood/web/controller/MenuController.java
===================================================================
--- src/main/java/mk/ukim/finki/easyfood/web/controller/MenuController.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
+++ src/main/java/mk/ukim/finki/easyfood/web/controller/MenuController.java	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -0,0 +1,41 @@
+package mk.ukim.finki.easyfood.web.controller;
+
+import mk.ukim.finki.easyfood.model.Item;
+import mk.ukim.finki.easyfood.model.Menu;
+import mk.ukim.finki.easyfood.model.Restaurant;
+import mk.ukim.finki.easyfood.service.ItemService;
+import mk.ukim.finki.easyfood.service.MenuService;
+import mk.ukim.finki.easyfood.service.RestaurantService;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.util.List;
+
+@Controller
+@RequestMapping("/menu")
+public class MenuController {
+    private final ItemService itemService;
+    private final RestaurantService restaurantService;
+    private final MenuService menuService;
+
+    public MenuController(ItemService itemService, RestaurantService restaurantService, MenuService menuService) {
+        this.itemService = itemService;
+        this.restaurantService = restaurantService;
+        this.menuService = menuService;
+
+    }
+
+    @GetMapping("/{id}")
+    public String showMenu(@PathVariable Long id, Model model) {
+        Restaurant restaurant= restaurantService.findRestaurantById(id);
+        Menu menu=menuService.getMenuByRestaurantId(id);
+        List<Item> items = itemService.getItemsByMenuId(menu.getId());
+
+        model.addAttribute("restaurant", restaurant);
+        model.addAttribute("items", items);
+        return "restaurant_menu";
+    }
+}
Index: src/main/resources/application.properties
===================================================================
--- src/main/resources/application.properties	(revision ee40cab77486326f3e1c3442c45e5fe87977bcc5)
+++ src/main/resources/application.properties	(revision 91cadeb972264afbf300314a003f6cdcc0a9d098)
@@ -5,5 +5,3 @@
 spring.datasource.driver-class-name=org.postgresql.Driver
 
-# Optional but recommended
-spring.jpa.hibernate.ddl-auto=update
-spring.jpa.show-sql=true
+
