Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/JobvistaBackendApplication.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/JobvistaBackendApplication.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/JobvistaBackendApplication.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -26,5 +26,4 @@
 			admin.setRole(Role.ROLE_ADMIN);
 			admin.setEmail("admin@admin.com");
-			admin.setHasAccess(true);
 //			admin.setName("admin");
 //			admin.setSurname("admin");
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/JwtAuthFilter.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/JwtAuthFilter.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/JwtAuthFilter.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -44,4 +44,8 @@
                 token.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
 
+//                SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
+//                securityContext.setAuthentication(token);
+//                SecurityContextHolder.setContext(securityContext);
+
                 SecurityContextHolder.getContext().setAuthentication(token);
             }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/SecurityConfiguration.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/SecurityConfiguration.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/config/SecurityConfiguration.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -25,4 +25,5 @@
 
     private final JwtAuthFilter jwtAuthFilter;
+    //private final UserService userService;
     private final UserDetailsService userDetailsService;
 
@@ -30,24 +31,9 @@
     public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
         http.csrf(AbstractHttpConfigurer::disable)
-                .authorizeHttpRequests(request -> request
-                        .requestMatchers(
-                                "/api/auth/**",
-                                "/api/job-advertisements/**",
-                                "/api/applications/**",
-                                "/api/recruiter/**",
-                                "/api/job-seeker/**"
-                        ).permitAll()
-                        .requestMatchers("/api/admin/**").hasAnyAuthority(Role.ROLE_ADMIN.name())
-                        .requestMatchers("/api/recruiter/{id}/edit-info").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/recruiter/submit-logo").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/job-seeker/{id}/edit-info").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/job-seeker/submit-profile-pic").hasAnyAuthority(Role.ROLE_JOBSEEKER.name())
-                        .requestMatchers("/api/job-advertisements/add").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/job-advertisements/edit/{id}").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/job-advertisements/delete/{id}").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/applications/{id}/update").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/job-advertisements/{advertisement_id}/applications").hasAnyAuthority(Role.ROLE_RECRUITER.name())
-                        .requestMatchers("/api/applications/submit").hasAnyAuthority(Role.ROLE_JOBSEEKER.name())
-                        .requestMatchers("/api/my-applications/{id}").hasAnyAuthority(Role.ROLE_JOBSEEKER.name())
+                .authorizeHttpRequests(request -> request.requestMatchers("/api/auth/**")
+                        .permitAll()
+                        .requestMatchers("/api/admin").hasAnyAuthority(Role.ROLE_ADMIN.name())
+                        .requestMatchers("/api/job-seeker").hasAnyAuthority(Role.ROLE_JOBSEEKER.name())
+                        .requestMatchers("/api/recruiter").hasAnyAuthority(Role.ROLE_RECRUITER.name())
                         .anyRequest().authenticated())
                 .sessionManagement(manager -> manager.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AdminController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AdminController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AdminController.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,31 +2,18 @@
 
 import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.AdminService;
-import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api/admin")
 @RequiredArgsConstructor
-@CrossOrigin(origins = "*")
 public class AdminController {
 
-    private final AdminService adminService;
 
-    @PostMapping("/change-access/{recruiter_id}")
-    public ResponseEntity<?> changeAccess(@PathVariable("recruiter_id") Long recruiterId, @RequestBody boolean access) {
-        RecruiterAdminDetailsDTO recruiterAdminDetailsDTO = adminService.changeAccess(recruiterId, access);
-        return new ResponseEntity<>(recruiterAdminDetailsDTO, HttpStatus.OK);
-    }
-
-    @GetMapping("/recruiters")
-    public ResponseEntity<?> findAllRecruiters() {
-        List<RecruiterAdminDetailsDTO> recruiterAdminDetailsDTOList = adminService.findAllRecruiters();
-        return new ResponseEntity<>(recruiterAdminDetailsDTOList, HttpStatus.OK);
+    @GetMapping
+    public ResponseEntity<String> sayHello() {
+        return ResponseEntity.ok("Hi Admin");
     }
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/ApplicationController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/ApplicationController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,68 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.controllers;
-
-import lombok.AllArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.Application;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationStatusDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.ApplicationService;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.core.io.Resource;
-import org.springframework.http.HttpHeaders;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api")
-@AllArgsConstructor
-@CrossOrigin(origins = "*")
-public class ApplicationController {
-    private final ApplicationService applicationService;
-
-    @GetMapping("/my-applications/{id}")
-    public ResponseEntity<?> findAllApplicationsByJobSeekerId(@PathVariable Long id) {
-        List<ApplicationDetailsDTO> applicationList = applicationService.findAllByJobSeekerId(id);
-        return new ResponseEntity<>(applicationList, HttpStatus.OK);
-    }
-
-    @GetMapping("/job-advertisements/{advertisement_id}/applications")
-    public ResponseEntity<?> findAllApplicationsByJobAdvertisementId(@PathVariable("advertisement_id") Long advertisementId) {
-        List<ApplicationDetailsDTO> applicationList = applicationService.findAllByJobAdvertisementId(advertisementId);
-        return new ResponseEntity<>(applicationList, HttpStatus.OK);
-    }
-
-    @PostMapping("/applications/{id}/update")
-    public ResponseEntity<?> updateApplicationStatus(@PathVariable("id") Long applicaitonId, @RequestBody ApplicationStatusDTO appStatusDTO) {
-        ApplicationStatusDTO applicationStatusDTO = applicationService.updateApplicationStatus(applicaitonId,appStatusDTO.getStatus());
-        return new ResponseEntity<>(applicationStatusDTO, HttpStatus.OK);
-    }
-
-    @GetMapping("/applications/{id}/download-resume")
-    public ResponseEntity<Resource> downloadResume(@PathVariable("id") Long applicationId) {
-        Resource resource = applicationService.loadResumeAsResource(applicationId);
-        return ResponseEntity.ok()
-                .contentType(MediaType.APPLICATION_PDF)
-                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
-                .body(resource);
-    }
-
-    @PostMapping("/applications/submit")
-    public ResponseEntity<ApplicationDetailsDTO> submitApplication(
-            @RequestParam("jobSeekerId") Long jobSeekerId,
-            @RequestParam("jobAdId") Long jobAdId,
-            @RequestParam("resumeFile") MultipartFile resumeFile,
-            @RequestParam("answerOne") String answerOne,
-            @RequestParam("answerTwo") String answerTwo,
-            @RequestParam("answerThree") String answerThree,
-            @RequestParam("messageToRecruiter") String messageToRecruiter) {
-
-        ApplicationDTO applicationDTO = new ApplicationDTO(jobSeekerId, jobAdId,
-                resumeFile, answerOne, answerTwo, answerThree, messageToRecruiter);
-        ApplicationDetailsDTO applicationDetailsDTO = applicationService.submitApplication(applicationDTO);
-        return new ResponseEntity<>(applicationDetailsDTO, HttpStatus.OK);
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AuthController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AuthController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/AuthController.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -12,8 +12,8 @@
 import org.springframework.web.bind.annotation.*;
 
+@CrossOrigin(origins = "*")
 @RestController
 @RequestMapping("/api/auth")
 @AllArgsConstructor
-@CrossOrigin(origins = "*")
 public class AuthController {
 
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobAdvertisementController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobAdvertisementController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,79 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.controllers;
-
-
-import lombok.AllArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.Application;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdFilterDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdvertisementDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.ApplicationService;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JobAdvertisementService;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/job-advertisements")
-@AllArgsConstructor
-@CrossOrigin(origins = "*")
-public class JobAdvertisementController {
-
-    private final JobAdvertisementService jobAdvertisementService;
-    private final ApplicationService applicationService;
-
-    @PostMapping("/add")
-    public ResponseEntity<?> addJobAdvertisement(@RequestBody JobAdvertisementDTO jobAdvertisementDTO) {
-        JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.addJobAdvertisement(jobAdvertisementDTO);
-        return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
-    }
-
-    @PutMapping("/edit/{id}")
-    public ResponseEntity<?> editJobAdvertisement(@PathVariable Long id, @RequestBody JobAdvertisementDTO JobAdvertisementDTO) {
-        JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.editJobAdvertisement(id, JobAdvertisementDTO);
-        return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
-    }
-
-    @DeleteMapping("/delete/{id}")
-    public ResponseEntity<?> deleteJobAdvertisement(@PathVariable Long id) {
-        jobAdvertisementService.deleteJobAdvertisement(id);
-        return new ResponseEntity<>("Job Advertisement with id: "+ id + "deleted.", HttpStatus.OK);
-    }
-
-    @GetMapping("/recruiter/{id}")
-    public ResponseEntity<?> findAllJobAdvertisementsByRecruiterId(@PathVariable Long id) {
-        List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.findAllJobAdvertisementsByRecruiterId(id);
-        return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
-    }
-
-    @PostMapping("/recruiter/{id}/filtered")
-    public ResponseEntity<?> filterJobAdvertisementsByRecruiterId(@PathVariable Long id, @RequestBody JobAdFilterDTO jobAdFilterDTO) {
-        List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.filterJobAdvertisementsByRecruiterId(id, jobAdFilterDTO);
-        return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
-    }
-
-    @GetMapping("/all")
-    public ResponseEntity<?> findAllJobAdvertisements() {
-        List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.findAllJobAdvertisements();
-        return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
-    }
-
-    @PostMapping("/filtered")
-    public ResponseEntity<?> filterJobAdvertisements(@RequestBody JobAdFilterDTO jobAdFilterDTO) {
-        List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.filterJobAdvertisements(jobAdFilterDTO);
-        return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
-    }
-
-    @GetMapping("/{id}")
-    public ResponseEntity<?> findJobAdvertisementById(@PathVariable Long id) {
-        JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.findJobAdvertisementById(id);
-        return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
-    }
-
-
-
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobSeekerController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobSeekerController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobSeekerController.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,50 +2,11 @@
 
 
-import lombok.AllArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JobSeekerService;
-import org.springframework.core.io.Resource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api/job-seeker")
-@AllArgsConstructor
-@CrossOrigin(origins = "*")
+@RequiredArgsConstructor
 public class JobSeekerController {
-    private final JobSeekerService jobSeekerService;
-
-    @GetMapping("/{id}/edit-info")
-    public ResponseEntity<?> getJobSeekerEditDetailsById(@PathVariable("id") Long id) {
-        JobSeekerEditDetailsDTO jobSeekerEditDetailsDTO = jobSeekerService.getJobSeekerEditDetailsById(id);
-        return new ResponseEntity<>(jobSeekerEditDetailsDTO, HttpStatus.OK);
-    }
-
-    @PostMapping("/{id}/edit-info")
-    public ResponseEntity<?> editRecruiterDetailsById(@PathVariable("id") Long id, @RequestBody JobSeekerEditDetailsDTO jobSeekerEditDetailsDTO) {
-        JobSeekerEditDetailsDTO jobSeekerEditDetailsDTOresp = jobSeekerService.editJobSeekerDetailsById(id, jobSeekerEditDetailsDTO);
-        return new ResponseEntity<>(jobSeekerEditDetailsDTOresp, HttpStatus.OK);
-    }
-
-    @PostMapping("/submit-profile-pic")
-    public ResponseEntity<?> submitJobSeekerProfilePic(
-            @RequestParam("jobSeekerId") Long jobSeekerId,
-            @RequestParam("profilePicFile") MultipartFile profilePicFile) {
-        jobSeekerService.submitProfilePic(jobSeekerId, profilePicFile);
-        return new ResponseEntity<>(HttpStatus.OK);
-    }
-
-    @GetMapping("/{id}/download-profile-pic")
-    public ResponseEntity<?> downloadJobSeekerProfilePic(@PathVariable("id") Long id) {
-        Resource resource = jobSeekerService.loadProfilePicAsResource(id);
-        return ResponseEntity.ok()
-                .contentType(MediaType.IMAGE_JPEG)
-                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
-                .body(resource);
-    }
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/RecruiterController.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/RecruiterController.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/RecruiterController.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,57 +1,18 @@
 package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.controllers;
 
-import lombok.AllArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.RecruiterService;
-import org.springframework.core.io.Resource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
+import lombok.RequiredArgsConstructor;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/api/recruiter")
-@AllArgsConstructor
-@CrossOrigin(origins = "*")
+@RequiredArgsConstructor
 public class RecruiterController {
 
-    private final RecruiterService recruiterService;
-
-    @GetMapping("/{id}/info")
-    public ResponseEntity<?> getRecruiterDetailsById(@PathVariable("id") Long id) {
-        RecruiterDetailsDTO recruiterDetailsDTO = recruiterService.getRecruiterDetailsById(id);
-        return new ResponseEntity<>(recruiterDetailsDTO, HttpStatus.OK);
-    }
-
-    @GetMapping("/{id}/edit-info")
-    public ResponseEntity<?> getRecruiterEditDetailsById(@PathVariable("id") Long id) {
-        RecruiterEditDetailsDTO recruiterEditDetailsDTO = recruiterService.getRecruiterEditDetailsById(id);
-        return new ResponseEntity<>(recruiterEditDetailsDTO, HttpStatus.OK);
-    }
-
-    @PostMapping("/{id}/edit-info")
-    public ResponseEntity<?> editRecruiterDetailsById(@PathVariable("id") Long id, @RequestBody RecruiterEditDetailsDTO recruiterEditDetailsDTO) {
-        RecruiterEditDetailsDTO recruiterEditDetailsDTOresp = recruiterService.editRecruiterDetailsById(id, recruiterEditDetailsDTO);
-        return new ResponseEntity<>(recruiterEditDetailsDTOresp, HttpStatus.OK);
-    }
-
-    @PostMapping("/submit-logo")
-    public ResponseEntity<?> submitRecruiterLogo(
-            @RequestParam("recruiterId") Long recruiterId,
-            @RequestParam("logoFile") MultipartFile logoFile) {
-        recruiterService.submitLogo(recruiterId, logoFile);
-        return new ResponseEntity<>(HttpStatus.OK);
-    }
-
-    @GetMapping("/{id}/download-logo")
-    public ResponseEntity<?> downloadRecruiterLogo(@PathVariable("id") Long id) {
-        Resource resource = recruiterService.loadLogoAsResource(id);
-        return ResponseEntity.ok()
-                .contentType(MediaType.IMAGE_JPEG)
-                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
-                .body(resource);
+    @GetMapping
+    public ResponseEntity<String> sayHello() {
+        return ResponseEntity.ok("Hi Recruiter");
     }
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/Application.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/Application.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,77 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications;
-
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.ApplicationStatus;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
-
-import java.time.LocalDateTime;
-import java.util.HashMap;
-import java.util.List;
-
-@Entity
-@NoArgsConstructor
-@AllArgsConstructor
-@Data
-@Table(name = "applications")
-public class Application {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @ManyToOne
-    private JobSeeker jobSeeker;
-
-    @ManyToOne
-    private JobAdvertisement jobAdvertisement;
-
-    @Column(name = "resume_file_name", nullable = true)
-    private String resumeFilePath;
-
-    @ElementCollection
-    private List<String> questionAnswers;
-
-    private String message;
-
-    private LocalDateTime submittedOn;
-
-    @Enumerated(EnumType.STRING)
-    private ApplicationStatus status;
-
-    public Application(JobSeeker jobSeeker, JobAdvertisement jobAdvertisement, List<String> answers, String message) {
-        this.jobSeeker = jobSeeker;
-        this.jobAdvertisement = jobAdvertisement;
-        this.resumeFilePath = "";
-        this.questionAnswers = answers;
-        this.message = message;
-        submittedOn = LocalDateTime.now();
-        this.status = ApplicationStatus.PROPOSED;
-    }
-
-    public static ApplicationDetailsDTO mapToApplicationDetailsDTO (Application application) {
-        return new ApplicationDetailsDTO(
-                application.getId(),
-                application.getJobSeeker().getId(),
-                application.getJobSeeker().getName(),
-                application.getJobSeeker().getEmail(),
-                application.getJobSeeker().getPhoneNumber(),
-                application.getJobAdvertisement().getRecruiter().getId(),
-                application.getJobAdvertisement().getRecruiter().getName(),
-                application.getJobAdvertisement().getRecruiter().getContactEmailAddress(),
-                application.getJobAdvertisement().getRecruiter().getContactPhoneNumber(),
-                application.getJobAdvertisement().getId(),
-                application.getJobAdvertisement().getTitle(),
-                application.getQuestionAnswers(),
-                application.getResumeFilePath(),
-                application.getMessage(),
-                application.getSubmittedOn(),
-                application.getStatus().name()
-        );
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import org.springframework.web.multipart.MultipartFile;
-
-@Data
-@AllArgsConstructor
-public class ApplicationDTO {
-    private Long jobSeekerId;
-    private Long jobAdId;
-    private MultipartFile resumeFile;
-    private String answerOne;
-    private String answerTwo;
-    private String answerThree;
-    private String messageToRecruiter;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,31 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO;
-
-import jakarta.persistence.EnumType;
-import jakarta.persistence.Enumerated;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.ApplicationStatus;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Data
-@AllArgsConstructor
-public class ApplicationDetailsDTO {
-    private Long id;
-    private Long jobSeekerId;
-    private String jobSeekerName;
-    private String jobSeekerEmail;
-    private String jobSeekerPhoneNumber;
-    private Long recruiterId;
-    private String recruiterName;
-    private String recruiterEmail;
-    private String recruiterPhoneNumber;
-    private Long jobAdId;
-    private String jobAdTitle;
-    private List<String> questionAnswers;
-    private String fileName;
-    private String message;
-    private LocalDateTime submittedOn;
-    private String status;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationStatusDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/applications/DTO/ApplicationStatusDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-
-@Data
-@AllArgsConstructor
-public class ApplicationStatusDTO {
-    Long id;
-    String status;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/ApplicationStatus.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/ApplicationStatus.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,5 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations;
-
-public enum ApplicationStatus {
-    PROPOSED, UNDER_REVIEW, ACCEPTED, DENIED
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/EmploymentStatus.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/EmploymentStatus.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,5 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations;
-
-public enum EmploymentStatus {
-    FULL_TIME, PART_TIME
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/JobType.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/enumerations/JobType.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,5 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations;
-
-public enum JobType {
-    JOB, INTERNSHIP
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,21 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-
-@Data
-@AllArgsConstructor
-public class JobAdDetailsDTO {
-    private String recruiterName;
-    private Long recruiterId;
-    private final Long id;
-    private String title;
-    private String description;
-    private String industry;
-    private int startingSalary;
-    private String postedOn;
-    private String activeUntil;
-    private boolean isActive;
-    private String jobType;
-    private String employmentStatus;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdFilterDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdFilterDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,12 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-
-@Data
-@AllArgsConstructor
-public class JobAdFilterDTO {
-    String searchTerm;
-    String industry;
-    String sortOrder;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdvertisementDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/DTO/JobAdvertisementDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,21 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Date;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class JobAdvertisementDTO {
-    private Long id;
-    private String title;
-    private String description;
-    private String industry;
-    private int startingSalary;
-    private String activeUntil;
-    private String jobType;
-    private String employmentStatus;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/JobAdvertisement.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/job_advertisements/JobAdvertisement.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,83 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements;
-
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.EmploymentStatus;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.JobType;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-@Entity
-@NoArgsConstructor
-@AllArgsConstructor
-@Data
-@Table(name = "job_advertisements")
-public class JobAdvertisement {
-
-    public JobAdvertisement(Recruiter recruiter, String title, String description, String industry, int startingSalary, LocalDate activeUntil, JobType jobType, EmploymentStatus employmentStatus) {
-        this.recruiter = recruiter;
-        this.title = title;
-        this.description = description;
-        this.industry = industry;
-        this.startingSalary = startingSalary;
-        this.postedOn = LocalDateTime.now();
-        this.activeUntil = activeUntil;
-        this.isActive = true;
-        this.jobType = jobType;
-        this.employmentStatus = employmentStatus;
-    }
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @ManyToOne
-    private Recruiter recruiter;
-
-    private String title;
-
-    @Column(columnDefinition="TEXT")
-    private String description;
-
-    private String industry;
-    private int startingSalary;
-    private LocalDateTime postedOn;
-    private LocalDate activeUntil;
-    private boolean isActive;
-
-    @Enumerated(EnumType.STRING)
-    JobType jobType;
-
-    @Enumerated(EnumType.STRING)
-    EmploymentStatus employmentStatus;
-
-    public boolean isJobAdActive() {
-        LocalDate date = LocalDate.now();
-        return date.isBefore(activeUntil);
-    }
-
-    public static JobAdDetailsDTO mapToJobAdDetailsDTO(JobAdvertisement jobAdvertisement) {
-
-        return new JobAdDetailsDTO(
-                jobAdvertisement.getRecruiter().getName(),
-                jobAdvertisement.getRecruiter().getId(),
-                jobAdvertisement.getId(),
-                jobAdvertisement.getTitle(),
-                jobAdvertisement.getDescription(),
-                jobAdvertisement.getIndustry(),
-                jobAdvertisement.getStartingSalary(),
-                jobAdvertisement.getPostedOn().toString(),
-                jobAdvertisement.getActiveUntil().toString(),
-                jobAdvertisement.isJobAdActive(),
-                jobAdvertisement.getJobType().name(),
-                jobAdvertisement.getEmploymentStatus().name()
-        );
-    }
-
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Admin.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Admin.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Admin.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -4,19 +4,20 @@
 import jakarta.persistence.Table;
 import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 @Entity
-@Data
-@NoArgsConstructor
+//@Data
+//@NoArgsConstructor
+//@AllArgsConstructor
+//@Builder
 @Table(name = "admins")
 public class Admin extends User {
-
-//    private String name;
-//    private String surname;
-
     @Override
     public String getName() {
         return "Admin";
     }
+//    private String name;
+//    private String surname;
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/JobSeekerEditDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/JobSeekerEditDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,15 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class JobSeekerEditDetailsDTO {
-    private String email;
-    private String firstName;
-    private String lastName;
-    private String phoneNumber;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/JwtAuthResponse.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/JwtAuthResponse.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/JwtAuthResponse.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -10,9 +10,7 @@
 @NoArgsConstructor
 public class JwtAuthResponse {
-    private Long id;
     private String email;
     private String name;
     private String role;
-    private boolean hasAccess;
     private String token;
     private String refreshToken;
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterAdminDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterAdminDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,22 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.time.LocalDateTime;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class RecruiterAdminDetailsDTO {
-    private Long id;
-    private String email;
-    private String companyName;
-    private String companyDescription;
-    private String contactEmail;
-    private String contactPhoneNumber;
-    private String receptionist;
-    private boolean hasAccess;
-    private LocalDateTime registeredOn;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.time.LocalDateTime;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class RecruiterDetailsDTO {
-    private String companyName;
-    private String companyDescription;
-    private String contactEmail;
-    private String contactPhoneNumber;
-    private String receptionist;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterEditDetailsDTO.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterEditDetailsDTO.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO;
-
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class RecruiterEditDetailsDTO {
-    private String email;
-    private String companyName;
-    private String companyDescription;
-    private String contactEmail;
-    private String contactPhoneNumber;
-    private String receptionist;
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/JobSeeker.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/JobSeeker.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/JobSeeker.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -5,9 +5,8 @@
 import jakarta.persistence.Table;
 import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.Role;
-
-import java.nio.file.Paths;
 
 @Entity
@@ -15,4 +14,5 @@
 @NoArgsConstructor
 @AllArgsConstructor
+@Builder
 @Table(name = "job_seekers")
 public class JobSeeker extends User {
@@ -24,8 +24,4 @@
         this.lastName = lastName;
         this.phoneNumber = phoneNumber;
-
-        String relativeProfilePicFilePath = Paths.get("uploads", "job-seekers", "profile-pics", "default-profile-pic.png").toString();
-        this.profilePicFilePath = relativeProfilePicFilePath;
-
         this.role = Role.ROLE_JOBSEEKER;
     }
@@ -40,6 +36,4 @@
     private String phoneNumber;
 
-    private String profilePicFilePath;
-
     @Override
     public String getName() {
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Recruiter.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Recruiter.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Recruiter.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -9,9 +9,8 @@
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.Role;
 
-import java.nio.file.Paths;
-
 @Entity
 @Data
 @NoArgsConstructor
+@AllArgsConstructor
 @Table(name = "recruiters")
 public class Recruiter extends User {
@@ -22,10 +21,5 @@
         this.companyName = companyName;
         this.companyDescription = "";
-        this.contactEmailAddress = email;
-        this.contactPhoneNumber = phoneNumber;
-        this.receptionist = "";
-
-        String relativeLogoFilePath = Paths.get("uploads", "logo", "default-company-logo.png").toString();
-        this.logoFilePath = relativeLogoFilePath;
+        this.phoneNumber = phoneNumber;
         this.role = Role.ROLE_RECRUITER;
     }
@@ -37,11 +31,6 @@
     private String companyDescription;
 
-    private String contactEmailAddress;
-
-    private String contactPhoneNumber;
-
-    private String receptionist;
-
-    private String logoFilePath;
+    @Column(name = "phone_number")
+    private String phoneNumber;
 
     @Override
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/User.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/User.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/User.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -11,14 +11,13 @@
 import org.springframework.security.core.userdetails.UserDetails;
 
-import java.time.LocalDateTime;
 import java.util.Collection;
 import java.util.List;
 
 @Entity
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "users")
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-@Inheritance(strategy = InheritanceType.JOINED)
-@Table(name = "users")
 public abstract class User implements UserDetails {
 
@@ -33,9 +32,4 @@
     @Enumerated(EnumType.STRING)
     protected Role role;
-
-    @Column(name = "has_access")
-    protected boolean hasAccess;
-
-    protected LocalDateTime registeredOn;
 
 
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/JobSeekerMapper.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/JobSeekerMapper.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/JobSeekerMapper.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,8 +2,5 @@
 
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
 
 public class JobSeekerMapper {
@@ -29,12 +26,4 @@
     }
 
-    public static JobSeekerEditDetailsDTO mapToJobSeekerEditDetailsDTO(JobSeeker jobSeeker) {
-        return new JobSeekerEditDetailsDTO(
-                jobSeeker.getEmail(),
-                jobSeeker.getFirstName(),
-                jobSeeker.getLastName(),
-                jobSeeker.getPhoneNumber()
-        );
-    }
 
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/RecruiterMapper.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/RecruiterMapper.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/RecruiterMapper.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,8 +1,5 @@
 package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers;
 
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
 
@@ -14,39 +11,5 @@
                 recruiter.getPassword(),
                 recruiter.getCompanyName(),
-                recruiter.getContactPhoneNumber()
-        );
-    }
-
-    public static RecruiterDetailsDTO mapToRecruiterDetailsDTO(Recruiter recruiter) {
-        return new RecruiterDetailsDTO(
-                recruiter.getCompanyName(),
-                recruiter.getCompanyDescription(),
-                recruiter.getContactEmailAddress(),
-                recruiter.getContactPhoneNumber(),
-                recruiter.getReceptionist()
-        );
-    }
-    public static RecruiterEditDetailsDTO mapToRecruiterEditDetailsDTO(Recruiter recruiter) {
-        return new RecruiterEditDetailsDTO(
-                recruiter.getEmail(),
-                recruiter.getCompanyName(),
-                recruiter.getCompanyDescription(),
-                recruiter.getContactEmailAddress(),
-                recruiter.getContactPhoneNumber(),
-                recruiter.getReceptionist()
-        );
-    }
-
-    public static RecruiterAdminDetailsDTO mapToRecruiterAdminDetailsDTO(Recruiter recruiter) {
-        return new RecruiterAdminDetailsDTO(
-                recruiter.getId(),
-                recruiter.getEmail(),
-                recruiter.getCompanyName(),
-                recruiter.getCompanyDescription(),
-                recruiter.getContactEmailAddress(),
-                recruiter.getContactPhoneNumber(),
-                recruiter.getReceptionist(),
-                recruiter.isHasAccess(),
-                recruiter.getRegisteredOn()
+                recruiter.getPhoneNumber()
         );
     }
@@ -60,5 +23,4 @@
         );
     }
-
 //    Using MapStruct:
 //    RecruiterMapper INSTANCE = Mappers.getMapper(RecruiterMapper.class);
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/ApplicationRepository.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/ApplicationRepository.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.Application;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-
-public interface ApplicationRepository extends JpaRepository<Application, Long> {
-    List<Application> findAllByJobAdvertisementId(Long jobId);
-    List<Application> findAllByJobSeekerId(Long jobId);
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/JobAdvertisementRepository.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/JobAdvertisementRepository.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-import java.util.Optional;
-
-public interface JobAdvertisementRepository extends JpaRepository<JobAdvertisement, Long> {
-    List<JobAdvertisement> findAllByRecruiterId(Long id);
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/RecruiterRepository.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/RecruiterRepository.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/repositories/RecruiterRepository.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -2,10 +2,6 @@
 
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.RecruiterMapper;
 import org.springframework.data.jpa.repository.JpaRepository;
 
-import java.util.Optional;
-
 public interface RecruiterRepository extends JpaRepository<Recruiter, Long> {
-    Optional<Recruiter> findRecruiterByEmail(String email);
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AdminServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AdminServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,39 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
-
-import lombok.AllArgsConstructor;
-import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.RecruiterMapper;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.RecruiterRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.AdminService;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.RecruiterService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-@AllArgsConstructor
-public class AdminServiceImpl implements AdminService {
-    private final RecruiterService recruiterService;
-    private final RecruiterRepository recruiterRepository;
-
-    @Override
-    public RecruiterAdminDetailsDTO changeAccess(long recruiterId, boolean access) {
-        Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null);
-        if (recruiter != null) {
-            recruiter.setHasAccess(access);
-            recruiterRepository.save(recruiter);
-            return RecruiterMapper.mapToRecruiterAdminDetailsDTO(recruiter);
-        }
-        return null;
-
-    }
-
-    @Override
-    public List<RecruiterAdminDetailsDTO> findAllRecruiters() {
-        List<Recruiter> recruiterList = recruiterRepository.findAll();
-        return recruiterList.stream().map(RecruiterMapper::mapToRecruiterAdminDetailsDTO).toList();
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/ApplicationServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/ApplicationServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,136 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationStatusDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.ApplicationStatus;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.JobSeekerRepository;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.Application;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.ApplicationRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.JobAdvertisementRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.UserRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.ApplicationService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
-import java.util.ArrayList;
-import java.util.List;
-
-@Service
-//@RequiredArgsConstructor
-public class ApplicationServiceImpl implements ApplicationService {
-    private final Path fileStorageLocation;
-
-    private final UserRepository userRepository;
-    private final ApplicationRepository applicationRepository;
-    private final JobAdvertisementRepository jobAdvertisementRepository;
-    private final JobSeekerRepository jobSeekerRepository;
-
-    @Autowired
-    public ApplicationServiceImpl(@Value("${file.upload-dir}") String uploadDir, UserRepository userRepository, ApplicationRepository applicationRepository, JobAdvertisementRepository jobAdvertisementRepository,
-                                  JobSeekerRepository jobSeekerRepository) {
-        this.fileStorageLocation = Paths.get(uploadDir + "/applications").toAbsolutePath().normalize();
-
-        try {
-            Files.createDirectories(this.fileStorageLocation);
-        } catch (IOException ex) {
-            throw new RuntimeException("Could not create the directory where the uploaded files will be stored.", ex);
-        }
-
-        this.userRepository = userRepository;
-        this.applicationRepository = applicationRepository;
-        this.jobAdvertisementRepository = jobAdvertisementRepository;
-        this.jobSeekerRepository = jobSeekerRepository;
-    }
-
-    @Override
-    public ApplicationDetailsDTO submitApplication(ApplicationDTO applicationDTO) {
-
-        JobSeeker jobSeeker = jobSeekerRepository.findById(applicationDTO.getJobSeekerId())
-                .orElseThrow(() -> new IllegalArgumentException("User not found."));
-        JobAdvertisement jobAdvertisement = jobAdvertisementRepository.findById(applicationDTO.getJobAdId())
-                .orElseThrow(() -> new IllegalArgumentException("Job advertisement not found."));
-
-        if (applicationDTO.getResumeFile().isEmpty()) {
-            throw new RuntimeException("Failed to store empty file.");
-        }
-
-        List<String> answers = new ArrayList<>();
-        answers.add(applicationDTO.getAnswerOne());
-        answers.add(applicationDTO.getAnswerTwo());
-        answers.add(applicationDTO.getAnswerThree());
-
-        Application application = new Application(jobSeeker, jobAdvertisement,
-                answers,applicationDTO.getMessageToRecruiter());
-        application = applicationRepository.save(application);
-
-        Path filePath = this.fileStorageLocation.resolve(String.valueOf(application.getId())).resolve("resume");
-        Path targetLocation = filePath.resolve(applicationDTO.getResumeFile().getOriginalFilename());
-
-        try {
-            Files.createDirectories(filePath);
-            Files.copy(applicationDTO.getResumeFile().getInputStream(), targetLocation);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-
-        String relativePath = Paths.get("uploads","applications",String.valueOf(application.getId()),
-                "resume", applicationDTO.getResumeFile().getOriginalFilename()).toString();
-        application.setResumeFilePath(relativePath);
-        application = applicationRepository.save(application);
-
-        return Application.mapToApplicationDetailsDTO(application);
-    }
-
-    @Override
-    public List<ApplicationDetailsDTO> findAllByJobAdvertisementId(Long jobId) {
-        List<Application> applications =  applicationRepository.findAllByJobAdvertisementId(jobId);
-        return applications.stream().map(Application::mapToApplicationDetailsDTO).toList();
-    }
-
-    @Override
-    public List<ApplicationDetailsDTO> findAllByJobSeekerId(Long jobSeekerId) {
-       List<Application> applications = applicationRepository.findAllByJobSeekerId(jobSeekerId);
-       return applications.stream().map(Application::mapToApplicationDetailsDTO).toList();
-    }
-
-    @Override
-    public Resource loadResumeAsResource(Long applicationId) {
-        Application application = applicationRepository.findById(applicationId).
-                orElseThrow(() -> new IllegalArgumentException("Application not found"));
-
-        String relativeFilePath = application.getResumeFilePath();
-        Path filePath = fileStorageLocation.getParent().getParent().resolve(relativeFilePath).normalize();
-
-        try {
-            Resource resource = new UrlResource(filePath.toUri());
-            if (resource.exists()) {
-                return resource;
-            } else {
-                throw new RuntimeException("File not found: " + relativeFilePath);
-            }
-        } catch (IOException ex) {
-            throw new RuntimeException("File path is invalid: " + relativeFilePath, ex);
-        }
-    }
-
-    @Override
-    public ApplicationStatusDTO updateApplicationStatus(Long id, String status) {
-       Application application = applicationRepository.findById(id).orElse(null);
-        System.out.println(status);
-       application.setStatus(ApplicationStatus.valueOf(status));
-       applicationRepository.save(application);
-       return new ApplicationStatusDTO(id, status);
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AuthServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AuthServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AuthServiceImpl.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -18,5 +18,4 @@
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDateTime;
 import java.util.HashMap;
 
@@ -32,9 +31,8 @@
     private final JwtService jwtService;
 
+
     @Override
     public User signUpJobSeeker(JobSeeker jobSeeker) {
         jobSeeker.setPassword(passwordEncoder.encode(jobSeeker.getPassword()));
-        jobSeeker.setHasAccess(true);
-        jobSeeker.setRegisteredOn(LocalDateTime.now());
         return jobSeekerRepository.save(jobSeeker);
     }
@@ -42,6 +40,4 @@
     public User signUpRecruiter(Recruiter recruiter) {
         recruiter.setPassword(passwordEncoder.encode(recruiter.getPassword()));
-        recruiter.setHasAccess(false);
-        recruiter.setRegisteredOn(LocalDateTime.now());
         return recruiterRepository.save(recruiter);
     }
@@ -54,5 +50,5 @@
         String refreshJwt = jwtService.generateRefreshToken(new HashMap<>(), user);
 
-        return new JwtAuthResponse(user.getId(), user.getEmail(), user.getName(), user.getRole().name(), user.isHasAccess(), jwt, refreshJwt);
+        return new JwtAuthResponse(user.getEmail(), user.getName(), user.getRole().name(), jwt, refreshJwt);
     }
     
@@ -63,5 +59,5 @@
             String jwt = jwtService.generateToken(user);
 
-            return new JwtAuthResponse(user.getId(), user.getEmail(), user.getName(), user.getRole().name(), user.isHasAccess(), jwt, refreshTokenRequest.getToken());
+            return new JwtAuthResponse(user.getEmail(), user.getName(), user.getRole().name(), jwt, refreshTokenRequest.getToken());
         }
         return null;
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JobAdvertisementServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JobAdvertisementServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,137 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
-
-import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.EmploymentStatus;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.JobType;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdFilterDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdvertisementDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.JobAdvertisementRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.RecruiterRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.UserRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JobAdvertisementService;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDate;
-import java.util.Comparator;
-import java.util.List;
-
-@Service
-@RequiredArgsConstructor
-public class JobAdvertisementServiceImpl implements JobAdvertisementService {
-    private final JobAdvertisementRepository jobAdvertisementRepository;
-    private final RecruiterRepository recruiterRepository;
-
-    @Override
-    public JobAdDetailsDTO addJobAdvertisement(JobAdvertisementDTO jobAdvertisementDTO) {
-        Recruiter recruiter = recruiterRepository.findById(jobAdvertisementDTO.getId())
-                .orElseThrow(() -> new IllegalArgumentException("User not found"));
-        JobAdvertisement jobAdvertisement = new JobAdvertisement(
-                recruiter,
-                jobAdvertisementDTO.getTitle(),
-                jobAdvertisementDTO.getDescription(),
-                jobAdvertisementDTO.getIndustry(),
-                jobAdvertisementDTO.getStartingSalary(),
-                LocalDate.parse(jobAdvertisementDTO.getActiveUntil()),
-                JobType.valueOf(jobAdvertisementDTO.getJobType()),
-                EmploymentStatus.valueOf(jobAdvertisementDTO.getEmploymentStatus())
-        );
-        jobAdvertisementRepository.save(jobAdvertisement);
-        return JobAdvertisement.mapToJobAdDetailsDTO(jobAdvertisement);
-    }
-
-    @Override
-    public JobAdDetailsDTO editJobAdvertisement(Long id, JobAdvertisementDTO jobAdvertisementDTO) {
-        JobAdvertisement jobAdvertisement = jobAdvertisementRepository.findById(id)
-                .orElseThrow(() -> new IllegalArgumentException("Job Advertisement not found"));
-        jobAdvertisement.setTitle(jobAdvertisementDTO.getTitle());
-        jobAdvertisement.setDescription(jobAdvertisementDTO.getDescription());
-        jobAdvertisement.setIndustry(jobAdvertisementDTO.getIndustry());
-        jobAdvertisement.setStartingSalary(jobAdvertisementDTO.getStartingSalary());
-        jobAdvertisement.setActiveUntil(LocalDate.parse(jobAdvertisementDTO.getActiveUntil()));
-        jobAdvertisement.setActive(jobAdvertisement.isJobAdActive());
-        jobAdvertisement.setJobType(JobType.valueOf(jobAdvertisementDTO.getJobType()));
-        jobAdvertisement.setEmploymentStatus(EmploymentStatus.valueOf(jobAdvertisementDTO.getEmploymentStatus()));
-        jobAdvertisementRepository.save(jobAdvertisement);
-        return JobAdvertisement.mapToJobAdDetailsDTO(jobAdvertisement);
-    }
-
-    @Override
-    public void deleteJobAdvertisement(Long jobAdvertisementId) {
-        jobAdvertisementRepository.deleteById(jobAdvertisementId);
-    }
-
-    @Override
-    public List<JobAdDetailsDTO> findAllJobAdvertisements() {
-        List<JobAdvertisement> jobAdvertisementList = jobAdvertisementRepository.findAll();
-        jobAdvertisementList.forEach(jobAdvertisement -> {
-            if (!jobAdvertisement.isJobAdActive() && jobAdvertisement.isActive()) {
-                jobAdvertisement.setActive(false);
-                jobAdvertisementRepository.save(jobAdvertisement);
-            } else if (jobAdvertisement.isJobAdActive() && !jobAdvertisement.isActive()) {
-                jobAdvertisement.setActive(true);
-                jobAdvertisementRepository.save(jobAdvertisement);
-            }
-        });
-
-        return jobAdvertisementList.stream()
-                .map(JobAdvertisement::mapToJobAdDetailsDTO)
-                .toList();
-    }
-
-    @Override
-    public List<JobAdDetailsDTO> filterJobAdvertisements(JobAdFilterDTO jobAdFilterDTO) {
-        List<JobAdvertisement> filteredJobAds = jobAdvertisementRepository.findAll();
-        filteredJobAds = filter(filteredJobAds, jobAdFilterDTO);
-
-        return filteredJobAds.stream()
-                .map(JobAdvertisement::mapToJobAdDetailsDTO)
-                .toList();
-    }
-
-    private List<JobAdvertisement> filter(List<JobAdvertisement> filteredJobAdvertisements, JobAdFilterDTO jobAdFilterDTO) {
-        return filteredJobAdvertisements.stream()
-                .filter(jobAd -> jobAd.getTitle().toLowerCase().contains(jobAdFilterDTO.getSearchTerm().toLowerCase()))
-                .filter(jobAd -> jobAdFilterDTO.getIndustry().equals("all") || jobAd.getIndustry().equals(jobAdFilterDTO.getIndustry()))
-                .sorted(getComparator(jobAdFilterDTO.getSortOrder()))
-                .toList();
-    }
-
-    private Comparator<JobAdvertisement> getComparator(String sortOrder) {
-        return switch (sortOrder) {
-            case "date_newest" -> Comparator.comparing(JobAdvertisement::getPostedOn).reversed();
-            case "date_oldest" -> Comparator.comparing(JobAdvertisement::getPostedOn);
-            case "salary_highest" -> Comparator.comparing(JobAdvertisement::getStartingSalary).reversed();
-            case "salary_lowest" -> Comparator.comparing(JobAdvertisement::getStartingSalary);
-            default -> Comparator.comparing(JobAdvertisement::getPostedOn); // Default sorting order
-        };
-    }
-
-
-    @Override
-    public List<JobAdDetailsDTO> findAllJobAdvertisementsByRecruiterId(Long recruiterId) {
-        List<JobAdvertisement> jobAdvertisementList = jobAdvertisementRepository.findAllByRecruiterId(recruiterId);
-
-        return jobAdvertisementList.stream()
-                .map(JobAdvertisement::mapToJobAdDetailsDTO)
-                .toList();
-    }
-
-    @Override
-    public List<JobAdDetailsDTO> filterJobAdvertisementsByRecruiterId(Long recruiterId, JobAdFilterDTO jobAdFilterDTO) {
-        List<JobAdvertisement> filteredJobAds = jobAdvertisementRepository.findAllByRecruiterId(recruiterId);
-        filteredJobAds = filter(filteredJobAds, jobAdFilterDTO);
-        return filteredJobAds.stream()
-                .map(JobAdvertisement::mapToJobAdDetailsDTO)
-                .toList();
-    }
-
-    @Override
-    public JobAdDetailsDTO findJobAdvertisementById(Long id) {
-        JobAdvertisement jobAdvertisement = jobAdvertisementRepository.findById(id).orElse(null);
-        return JobAdvertisement.mapToJobAdDetailsDTO(jobAdvertisement);
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JobSeekerServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JobSeekerServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,101 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
-
-import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.JobSeekerMapper;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.JobSeekerRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JobSeekerService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
-
-@Service
-@RequiredArgsConstructor
-public class JobSeekerServiceImpl implements JobSeekerService {
-
-    private final JobSeekerRepository jobSeekerRepository;
-    private final Path profilePicStorageLocation;
-
-    @Autowired
-    JobSeekerServiceImpl(@Value("./uploads") String uploadDir, JobSeekerRepository jobSeekerRepository) {
-        this.jobSeekerRepository = jobSeekerRepository;
-
-        this.profilePicStorageLocation = Paths.get(uploadDir + "/job-seekers").toAbsolutePath().normalize();
-        try {
-            Files.createDirectories(this.profilePicStorageLocation);
-        } catch (IOException ex) {
-            throw new RuntimeException("Could not create the directory where the uploaded files will be stored.", ex);
-        }
-    }
-
-    @Override
-    public JobSeekerEditDetailsDTO editJobSeekerDetailsById(Long jobSeekerId, JobSeekerEditDetailsDTO jobSeekerEditDetailsDTO) {
-        JobSeeker jobSeeker = jobSeekerRepository.findById(jobSeekerId).orElse(null);
-        jobSeeker.setEmail(jobSeekerEditDetailsDTO.getEmail());
-        jobSeeker.setFirstName(jobSeekerEditDetailsDTO.getFirstName());
-        jobSeeker.setLastName(jobSeekerEditDetailsDTO.getLastName());
-        jobSeeker.setPhoneNumber(jobSeekerEditDetailsDTO.getPhoneNumber());
-        jobSeekerRepository.save(jobSeeker);
-        return JobSeekerMapper.mapToJobSeekerEditDetailsDTO(jobSeeker);
-    }
-
-    @Override
-    public JobSeekerEditDetailsDTO getJobSeekerEditDetailsById(Long jobSeekerId) {
-        JobSeeker jobSeeker = jobSeekerRepository.findById(jobSeekerId).orElse(null);
-        return JobSeekerMapper.mapToJobSeekerEditDetailsDTO(jobSeeker);
-    }
-
-    @Override
-    public void submitProfilePic(Long jobSeekerId, MultipartFile profilePicFile) {
-        Path jobSeekerProfilePicDir = this.profilePicStorageLocation.resolve(String.valueOf(jobSeekerId)).resolve("profile-pics");
-
-        try {
-            Files.createDirectories(jobSeekerProfilePicDir);
-            String originalFileName = profilePicFile.getOriginalFilename();
-
-            if(originalFileName != null) {
-                Path targetLocation = jobSeekerProfilePicDir.resolve(originalFileName);
-                Files.copy(profilePicFile.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);
-
-                JobSeeker jobSeeker = jobSeekerRepository.findById(jobSeekerId).orElse(null);
-                String relativePath = Paths.get("uploads", "job-seekers", String.valueOf(jobSeekerId), "profile-pics", originalFileName).toString();
-
-                jobSeeker.setProfilePicFilePath(relativePath);
-                jobSeekerRepository.save(jobSeeker);
-            }
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    @Override
-    public Resource loadProfilePicAsResource(Long jobSeekerId) {
-       JobSeeker jobSeeker =  jobSeekerRepository.findById(jobSeekerId)
-               .orElseThrow(() -> new RuntimeException("Job Seeker not found"));
-
-       try {
-           String relativeProfilePicPath = jobSeeker.getProfilePicFilePath();
-           Path profilePicPath = profilePicStorageLocation.getParent().getParent().resolve(relativeProfilePicPath);
-            Resource resource = new UrlResource(profilePicPath.toUri());
-            if(resource.exists()) {
-                return resource;
-            } else {
-                throw new RuntimeException("Could not find profile pic at " + profilePicPath);
-            }
-       } catch (IOException ex) {
-           throw new RuntimeException(ex);
-       }
-
-
-    }
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JwtServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JwtServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JwtServiceImpl.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -6,5 +6,4 @@
 import io.jsonwebtoken.io.Decoders;
 import io.jsonwebtoken.security.Keys;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JwtService;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -20,10 +19,6 @@
     private final static String SECRET_KEY = "7191b1d33668d4a2316a02f9a40798b77bccd22173bd882c93a0a916a5e921d1";
 
-    public String generateToken(User user) {
-        return Jwts.builder().setSubject(user.getUsername())
-                .claim("name", user.getName())
-                .claim("role", user.getRole())
-                .claim("access", user.isHasAccess())
-                .claim("id", user.getId())
+    public String generateToken(UserDetails userDetails) {
+        return Jwts.builder().setSubject(userDetails.getUsername())
                 .setIssuedAt(new Date())
                 .setExpiration(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24))
@@ -46,4 +41,8 @@
     }
 
+    public String extractUsername(String token) {
+        return extractClaim(token, Claims::getSubject);
+    }
+
     private Claims extractAllClaims(String token) {
         return Jwts.parserBuilder().setSigningKey(getSigninKey()).build().parseClaimsJws(token).getBody();
@@ -55,10 +54,4 @@
     }
 
-    @Override
-    public String extractUsername(String token) {
-        return extractClaim(token, Claims::getSubject);
-    }
-
-    @Override
     public boolean isTokenValid(String token, UserDetails userDetails) {
         final String username = extractUsername(token);
@@ -66,6 +59,6 @@
     }
 
-    @Override
-    public boolean isTokenExpired(String token) {
+
+    private boolean isTokenExpired(String token) {
         return extractClaim(token, Claims::getExpiration).before(new Date());
     }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/RecruiterServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/RecruiterServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,115 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
-
-import lombok.RequiredArgsConstructor;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.RecruiterMapper;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.RecruiterRepository;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.RecruiterService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
-
-@Service
-@RequiredArgsConstructor
-public class RecruiterServiceImpl implements RecruiterService {
-
-    private final RecruiterRepository recruiterRepository;
-    private final Path logoStorageLocation;
-
-    @Autowired
-    RecruiterServiceImpl(@Value("./uploads") String uploadDir, RecruiterRepository recruiterRepository) {
-        this.recruiterRepository = recruiterRepository;
-
-        this.logoStorageLocation = Paths.get(uploadDir + "/recruiters").toAbsolutePath().normalize();
-        try {
-            Files.createDirectories(this.logoStorageLocation);
-        } catch (IOException ex) {
-            throw new RuntimeException("Could not create the directory where the uploaded files will be stored.", ex);
-        }
-    }
-
-
-    @Override
-    public RecruiterEditDetailsDTO editRecruiterDetailsById(Long recruiterId, RecruiterEditDetailsDTO recruiterEditDetailsDTO) {
-        Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null);
-        recruiter.setEmail(recruiterEditDetailsDTO.getEmail());
-        recruiter.setCompanyName(recruiterEditDetailsDTO.getCompanyName());
-        recruiter.setCompanyDescription(recruiterEditDetailsDTO.getCompanyDescription());
-        recruiter.setContactEmailAddress(recruiterEditDetailsDTO.getContactEmail());
-        recruiter.setContactPhoneNumber(recruiterEditDetailsDTO.getContactPhoneNumber());
-        recruiter.setReceptionist(recruiterEditDetailsDTO.getReceptionist());
-        recruiterRepository.save(recruiter);
-        return RecruiterMapper.mapToRecruiterEditDetailsDTO(recruiter);
-    }
-
-    @Override
-    public RecruiterEditDetailsDTO getRecruiterEditDetailsById(Long recruiterId) {
-        Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null);
-        return RecruiterMapper.mapToRecruiterEditDetailsDTO(recruiter);
-    }
-
-
-    @Override
-    public RecruiterDetailsDTO getRecruiterDetailsById(Long recruiterId) {
-        Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null);
-        return RecruiterMapper.mapToRecruiterDetailsDTO(recruiter);
-    }
-
-    @Override
-    public void submitLogo(Long recruiterId, MultipartFile logoFile) {
-
-        Path recruiterLogoDir = this.logoStorageLocation.resolve(String.valueOf(recruiterId)).resolve("logos");
-        try {
-            Files.createDirectories(recruiterLogoDir);
-            String originalFilename = logoFile.getOriginalFilename();
-
-            if (originalFilename != null) {
-                Path targetLocation = recruiterLogoDir.resolve(originalFilename);
-
-                Files.copy(logoFile.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);
-
-                Recruiter recruiter = recruiterRepository.findById(recruiterId)
-                        .orElseThrow(() -> new RuntimeException("Recruiter not found"));
-                String relativePath = Paths.get("uploads","recruiters", String.valueOf(recruiterId), "logos", originalFilename).toString();
-                recruiter.setLogoFilePath(relativePath);
-                recruiterRepository.save(recruiter);
-            }
-
-        } catch (IOException ex) {
-            throw new RuntimeException("Could not store file. Please try again!", ex);
-        }
-
-      
-    }
-
-    public Resource loadLogoAsResource(Long recruiterId) {
-        Recruiter recruiter = recruiterRepository.findById(recruiterId)
-                .orElseThrow(() -> new RuntimeException("Recruiter not found"));
-
-        try {
-            String relativeLogoPath = recruiter.getLogoFilePath();
-            Path logoPath = this.logoStorageLocation.getParent().getParent().resolve(relativeLogoPath);
-            Resource resource = new UrlResource(logoPath.toUri());
-            if (resource.exists()) {
-                return resource;
-            } else {
-                throw new RuntimeException("File not found " + logoPath);
-            }
-        } catch (IOException ex) {
-            throw new RuntimeException("File not found " + ex);
-        }
-
-    }
-
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/UserServiceImpl.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/UserServiceImpl.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/UserServiceImpl.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,11 +1,64 @@
 package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.impl;
 
-import lombok.RequiredArgsConstructor;
+import lombok.AllArgsConstructor;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.JobSeekerRepository;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.RecruiterRepository;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.UserRepository;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JwtService;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.UserService;
 
 @Service
-@RequiredArgsConstructor
-public class UserServiceImpl implements UserService {
+@AllArgsConstructor
 
+public class UserServiceImpl  {
+    private final UserRepository userRepository;
+    private final RecruiterRepository recruiterRepository;
+    private final JobSeekerRepository jobSeekerRepository;
+    private final PasswordEncoder passwordEncoder;
+    private final AuthenticationManager authenticationManager;
+    private final JwtService jwtService;
+
+
+//    @Override
+//    public User registerJobSeeker(JobSeeker jobSeeker) {
+//        jobSeeker.setPassword(passwordEncoder.encode(jobSeeker.getPassword()));
+//        return jobSeekerRepository.save(jobSeeker);
+//    }
+//
+//    @Override
+//    public User registerRecruiter(Recruiter recruiter) {
+//        recruiter.setPassword(passwordEncoder.encode(recruiter.getPassword()));
+//        return recruiterRepository.save(recruiter);
+//    }
+//
+//    @Override
+//    public JwtAuthenticationResponse login(JwtAuthenticationRequest jwtAuthenticationRequest) {
+//        authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(jwtAuthenticationRequest.getEmail(), jwtAuthenticationRequest.getPassword()));
+//
+//        var user = userRepository.findByEmail(jwtAuthenticationRequest.getEmail()).orElseThrow(() -> new IllegalArgumentException("Email or password is incorrect"));
+//        var jwt = jwtService.generateToken(user);
+//        var refreshToken = jwtService.generateRefreshToken(new HashMap<>(), user);
+//
+//        JwtAuthenticationResponse jwtAuthenticationResponse = new JwtAuthenticationResponse();
+//        jwtAuthenticationResponse.setToken(jwt);
+//        jwtAuthenticationResponse.setRefreshToken(refreshToken);
+//        return jwtAuthenticationResponse;
+//    }
+//
+//    @Override
+//    public JwtAuthenticationResponse refreshToken(RefreshTokenRequest refreshTokenRequest) {
+//        String userEmail = jwtService.extractUsername(refreshTokenRequest.getToken());
+//        User user = userRepository.findByEmail(userEmail).orElseThrow();
+//        if(jwtService.isTokenValid(refreshTokenRequest.getToken(), user)) {
+//            var jwt = jwtService.generateToken(user);
+//
+//            JwtAuthenticationResponse jwtAuthenticationResponse = new JwtAuthenticationResponse();
+//            jwtAuthenticationResponse.setToken(jwt);
+//            jwtAuthenticationResponse.setRefreshToken(refreshTokenRequest.getToken());
+//            return jwtAuthenticationResponse;
+//        }
+//        return null;
+//    }
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/AdminService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/AdminService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-
-import java.util.List;
-
-public interface AdminService {
-    RecruiterAdminDetailsDTO changeAccess(long recruiterId, boolean access);
-    List<RecruiterAdminDetailsDTO> findAllRecruiters();
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/ApplicationService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/ApplicationService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
-
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.Application;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.applications.DTO.ApplicationStatusDTO;
-import org.springframework.core.io.Resource;
-
-import java.util.List;
-
-public interface ApplicationService {
-    ApplicationDetailsDTO submitApplication(ApplicationDTO applicationDTO);
-    List<ApplicationDetailsDTO> findAllByJobAdvertisementId(Long jobId);
-    List<ApplicationDetailsDTO> findAllByJobSeekerId(Long jobSeekerId);
-    Resource loadResumeAsResource(Long applicationId);
-    ApplicationStatusDTO updateApplicationStatus(Long id, String status);
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JobAdvertisementService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JobAdvertisementService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdFilterDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdvertisementDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
-
-import java.util.List;
-import java.util.Optional;
-
-public interface JobAdvertisementService {
-    JobAdDetailsDTO addJobAdvertisement(JobAdvertisementDTO jobAdvertisementDTO);
-    JobAdDetailsDTO editJobAdvertisement(Long id, JobAdvertisementDTO jobAdvertisementDTO);
-    void deleteJobAdvertisement(Long jobAdvertisementId);
-
-    List<JobAdDetailsDTO> findAllJobAdvertisements();
-    List<JobAdDetailsDTO> filterJobAdvertisements(JobAdFilterDTO jobAdFilterDTO);
-    List<JobAdDetailsDTO> findAllJobAdvertisementsByRecruiterId(Long recruiterId);
-    List<JobAdDetailsDTO> filterJobAdvertisementsByRecruiterId(Long recruiterId, JobAdFilterDTO jobAdFilterDTO);
-    JobAdDetailsDTO findJobAdvertisementById(Long id);
-
-
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JobSeekerService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JobSeekerService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,15 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerEditDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
-import org.springframework.core.io.Resource;
-import org.springframework.web.multipart.MultipartFile;
-
-public interface JobSeekerService {
-
-    JobSeekerEditDetailsDTO editJobSeekerDetailsById(Long jobSeekerId, JobSeekerEditDetailsDTO jobSeekerEditDetailsDTO);
-    JobSeekerEditDetailsDTO getJobSeekerEditDetailsById(Long jobSeekerId);
-
-    void submitProfilePic(Long jobSeekerId, MultipartFile logoFile);
-    Resource loadProfilePicAsResource(Long jobSeekerId);
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JwtService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JwtService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/JwtService.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
 
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
 import org.springframework.security.core.userdetails.UserDetails;
 
@@ -7,9 +6,9 @@
 
 public interface JwtService {
-    String generateToken(User user);
-    String generateRefreshToken(Map<String, Object> extraClaims, UserDetails userDetails);
+
+    String generateToken(UserDetails userDetails);
     String extractUsername(String token);
     boolean isTokenValid(String token, UserDetails userDetails);
-    boolean isTokenExpired(String token);
+    String generateRefreshToken(Map<String, Object> extraClaims, UserDetails userDetails);
 
 }
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/RecruiterService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/RecruiterService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ 	(revision )
@@ -1,15 +1,0 @@
-package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
-
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
-import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
-import org.springframework.core.io.Resource;
-import org.springframework.web.multipart.MultipartFile;
-
-public interface RecruiterService {
-    RecruiterDetailsDTO getRecruiterDetailsById(Long recruiterId);
-    RecruiterEditDetailsDTO editRecruiterDetailsById(Long recruiterId, RecruiterEditDetailsDTO recruiterEditDetailsDTO);
-    RecruiterEditDetailsDTO getRecruiterEditDetailsById(Long recruiterId);
-
-    void submitLogo(Long recruiterId, MultipartFile logoFile);
-    Resource loadLogoAsResource(Long recruiterId);
-}
Index: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/UserService.java
===================================================================
--- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/UserService.java	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/intef/UserService.java	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -1,7 +1,15 @@
 package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef;
 
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.SignInDTO;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JwtAuthResponse;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RefreshTokenRequest;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
+import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.User;
 
 public interface UserService {
-
+    User registerJobSeeker(JobSeeker jobSeeker);
+    User registerRecruiter(Recruiter recruiter);
+    JwtAuthResponse login(SignInDTO signInDTO);
+    JwtAuthResponse refreshToken(RefreshTokenRequest refreshTokenRequest);
 }
Index: jobvista-backend/src/main/resources/application.properties
===================================================================
--- jobvista-backend/src/main/resources/application.properties	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-backend/src/main/resources/application.properties	(revision d8b6c91094bd4c748b347d914a3c4c3745d51587)
@@ -6,13 +6,6 @@
 spring.datasource.password=postgres
 
-#spring.jpa.hibernate.ddl-auto=create-drop
-spring.jpa.hibernate.ddl-auto=update
+spring.jpa.hibernate.ddl-auto=create-drop
 spring.jpa.show-sql=true
 
 spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
-
-file.upload-dir=./uploads
-
-spring.servlet.multipart.enabled=true
-spring.servlet.multipart.max-file-size=2MB
-spring.servlet.multipart.max-request-size=2MB
