Index: backend/pom.xml
===================================================================
--- backend/pom.xml	(revision c4bce5e34e7cc55cb0a9847801a4f7ab90833ef1)
+++ backend/pom.xml	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -65,4 +65,28 @@
         </dependency>
 
+      <dependency>
+        <groupId>com.auth0</groupId>
+        <artifactId>java-jwt</artifactId>
+        <version>4.4.0</version>
+      </dependency>
+
+      <dependency>
+        <groupId>io.jsonwebtoken</groupId>
+        <artifactId>jjwt-api</artifactId>
+        <version>0.12.3</version>
+      </dependency>
+
+      <dependency>
+        <groupId>io.jsonwebtoken</groupId>
+        <artifactId>jjwt-impl</artifactId>
+        <version>0.12.6</version>
+      </dependency>
+
+      <dependency>
+        <groupId>io.jsonwebtoken</groupId>
+        <artifactId>jjwt-jackson</artifactId>
+        <version>0.12.5</version>
+      </dependency>
+
         <dependency>
             <groupId>org.thymeleaf.extras</groupId>
@@ -81,5 +105,4 @@
             <artifactId>spring-boot-starter-mail</artifactId>
         </dependency>
-
 
     </dependencies>
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/City.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/City.java	(revision c4bce5e34e7cc55cb0a9847801a4f7ab90833ef1)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/City.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -10,16 +10,21 @@
 @Table(name = "city", schema = "IND0_185022")
 public class City {
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "city_id")
-    private Long cityId;
+  @Id
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
+  @Column(name = "city_id")
+  private Long cityId;
 
-    @Column(name = "city_name", nullable = false)
-    private String cityName;
+  @Column(name = "city_name", nullable = false)
+  private String cityName;
 
-    @OneToMany(mappedBy = "city")
-    private List<Users> users;
+  @OneToMany(mappedBy = "city")
+  private List<Users> users;
 
-    @OneToMany(mappedBy = "city")
-    private List<Warehouse> warehouses;
+  @OneToMany(mappedBy = "city")
+  private List<Warehouse> warehouses;
+
+  @ManyToOne(fetch = FetchType.LAZY, optional = false)
+  @JoinColumn(name = "region_id", nullable = false)
+  private Region region;
+
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/Region.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/Region.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/Region.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -0,0 +1,23 @@
+package mk.ukim.finki.db.distributorapp.model;
+
+import jakarta.persistence.*;
+import lombok.Data;
+
+import java.util.List;
+
+@Entity
+@Data
+@Table(name = "region", schema = "IND0_185022")
+public class Region {
+  @Id
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
+  @Column(name = "region_id", nullable = false)
+  private Integer regionId;
+
+  @Column(name = "region_name", nullable = false)
+  private String regionName;
+
+  @OneToMany(mappedBy = "region")
+  private List<City> cities;
+
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -0,0 +1,7 @@
+package mk.ukim.finki.db.distributorapp.repository;
+
+import mk.ukim.finki.db.distributorapp.model.Region;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface RegionRepository extends JpaRepository<Region, Long> {
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/security/JwtUtil.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/security/JwtUtil.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/security/JwtUtil.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -0,0 +1,20 @@
+package mk.ukim.finki.db.distributorapp.security;
+
+import io.jsonwebtoken.Jwts;
+import org.springframework.stereotype.Component;
+
+import javax.crypto.spec.SecretKeySpec;
+import java.security.Key;
+
+@Component
+public class JwtUtil {
+  private static final String SECRET_KEY = "secret";
+  private static final long EXPIRATION_TIME = 1000*60*60*10;
+
+  private final Key key = new SecretKeySpec(SECRET_KEY.getBytes(), "HmacSHA1");
+
+  public String generateToken(String username){
+    return Jwts.builder()
+      .setSubject(username)
+  }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -0,0 +1,4 @@
+package mk.ukim.finki.db.distributorapp.service;
+
+public interface RegionService {
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -0,0 +1,8 @@
+package mk.ukim.finki.db.distributorapp.service.impl;
+
+import mk.ukim.finki.db.distributorapp.service.RegionService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RegionServiceImpl implements RegionService {
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/controller/UsersController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/controller/UsersController.java	(revision c4bce5e34e7cc55cb0a9847801a4f7ab90833ef1)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/controller/UsersController.java	(revision 43b4ac7f24850aafd7ccd6b0bbb6672b3ecb7b3a)
@@ -4,7 +4,5 @@
 import mk.ukim.finki.db.distributorapp.service.UsersService;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -31,4 +29,9 @@
     }
 
+    @PostMapping("/add")
+    public ResponseEntity<Users> addUser(@RequestBody Users user) {
+      return ResponseEntity.ok(user);
+    }
+
 
 }
