From 16099970220938bbbe97dc4c660f2ba7dc60d243 Mon Sep 17 00:00:00 2001 From: rebeca <163349981+ChioreanRebeca@users.noreply.github.com> Date: Sat, 13 Dec 2025 20:04:00 +0200 Subject: [PATCH 1/3] rabbit MQ working --- .../ReviewServiceApplication.java | 15 --- ...oject \342\200\234etapa 4\342\200\235.pdf" | Bin .../ReadMe4.md | 0 project_milestone_4and5/ReadMe5.md | 107 ++++++++++++++++++ .../locafy-microservices/.idea/.gitignore | 0 .../locafy-microservices/.idea/compiler.xml | 4 +- .../locafy-microservices/.idea/encodings.xml | 0 .../.idea/jarRepositories.xml | 0 .../.idea/locafy-microservices.iml | 0 .../locafy-microservices/.idea/misc.xml | 0 .../locafy-microservices/.idea/modules.xml | 0 .../locafy-microservices/.idea/vcs.xml | 0 .../api-gateway/.gitattributes | 0 .../api-gateway/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../api-gateway/Dockerfile | 0 .../locafy-microservices/api-gateway/mvnw | 0 .../locafy-microservices/api-gateway/mvnw.cmd | 0 .../locafy-microservices/api-gateway/pom.xml | 0 .../api_gateway/ApiGatewayApplication.java | 0 .../api_gateway/config/GatewayConfig.java | 0 .../api_gateway/config/GlobalErrorConfig.java | 0 .../src/main/resources/application.yaml | 0 .../ApiGatewayApplicationTests.java | 0 .../business-service/.gitattributes | 0 .../business-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../business-service/Dockerfile | 0 .../business-service/mvnw | 0 .../business-service/mvnw.cmd | 0 .../business-service/pom.xml | 0 .../BusinessServiceApplication.java | 0 .../controller/BusinessController.java | 0 .../business_service/loader/DataLoader.java | 0 .../model/BusinessProfile.java | 0 .../repository/BusinessRepository.java | 0 .../service/BusinessService.java | 0 .../strategy/CategorySearchStrategy.java | 0 .../strategy/LocationSearchStrategy.java | 0 .../strategy/NameSearchStrategy.java | 0 .../strategy/SearchStrategy.java | 0 .../src/main/resources/application.yaml | 0 .../BusinessServiceApplicationTests.java | 0 .../discovery-server/.gitattributes | 0 .../discovery-server/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../discovery-server/Dockerfile | 0 .../discovery-server/mvnw | 0 .../discovery-server/mvnw.cmd | 0 .../discovery-server/pom.xml | 0 .../DiscoveryServerApplication.java | 0 .../src/main/resources/application.yaml | 0 .../DiscoveryServerApplicationTests.java | 0 .../locafy-microservices/docker-compose.yml | 33 ++++-- .../notification-service/.gitattributes | 0 .../notification-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../notification-service/Dockerfile | 0 .../notification-service/mvnw | 0 .../notification-service/mvnw.cmd | 0 .../notification-service/pom.xml | 4 + .../NotificationServiceApplication.java | 0 .../consumer/NotificationConsumer.java | 21 ++++ .../controller/NotificationController.java | 0 .../src/main/resources/application.yaml | 0 .../NotificationServiceApplicationTests.java | 0 .../review-service/.gitattributes | 0 .../review-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../review-service/Dockerfile | 0 .../locafy-microservices/review-service/mvnw | 0 .../review-service/mvnw.cmd | 0 .../review-service/pom.xml | 6 + .../ReviewServiceApplication.java | 39 +++++++ .../review_service/client/BusinessClient.java | 0 .../client/NotificationClient.java | 0 .../review_service/config/RabbitMQConfig.java | 25 ++++ .../controller/ReviewController.java | 0 .../exception/GlobalExceptionHandler.java | 24 ++++ .../example/review_service/model/Review.java | 0 .../repository/ReviewRepository.java | 0 .../review_service/service/ReviewService.java | 26 ++++- .../src/main/resources/application.yaml | 0 .../ReviewServiceApplicationTests.java | 0 .../locafy-test.json | 0 .../zips/api-gateway.zip | Bin .../zips/business-service.zip | Bin .../zips/discovery-server.zip | Bin .../zips/notification-service.zip | Bin .../zips/review-service.zip | Bin 90 files changed, 274 insertions(+), 30 deletions(-) delete mode 100644 project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java rename "project_milestone_4/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" => "project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" (100%) rename project_milestone_4/ReadMe.md => project_milestone_4and5/ReadMe4.md (100%) create mode 100644 project_milestone_4and5/ReadMe5.md rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/compiler.xml (94%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/encodings.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/jarRepositories.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/locafy-microservices.iml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/misc.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/modules.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/.idea/vcs.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/.gitattributes (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/Dockerfile (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/mvnw (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/mvnw.cmd (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/pom.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/src/main/resources/application.yaml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/.gitattributes (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/Dockerfile (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/mvnw (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/mvnw.cmd (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/pom.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/main/resources/application.yaml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/.gitattributes (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/Dockerfile (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/mvnw (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/mvnw.cmd (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/pom.xml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/src/main/resources/application.yaml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/docker-compose.yml (70%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/.gitattributes (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/Dockerfile (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/mvnw (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/mvnw.cmd (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/pom.xml (95%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java (100%) create mode 100644 project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/src/main/resources/application.yaml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/.gitattributes (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/.gitignore (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/Dockerfile (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/mvnw (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/mvnw.cmd (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/pom.xml (95%) create mode 100644 project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java (100%) create mode 100644 project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java (100%) create mode 100644 project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java (52%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/main/resources/application.yaml (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java (100%) rename {project_milestone_4 => project_milestone_4and5}/locafy-test.json (100%) rename {project_milestone_4 => project_milestone_4and5}/zips/api-gateway.zip (100%) rename {project_milestone_4 => project_milestone_4and5}/zips/business-service.zip (100%) rename {project_milestone_4 => project_milestone_4and5}/zips/discovery-server.zip (100%) rename {project_milestone_4 => project_milestone_4and5}/zips/notification-service.zip (100%) rename {project_milestone_4 => project_milestone_4and5}/zips/review-service.zip (100%) diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java b/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java deleted file mode 100644 index e447c5f..0000000 --- a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.example.review_service; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; - -@SpringBootApplication -@EnableDiscoveryClient -@EnableFeignClients -public class ReviewServiceApplication { - public static void main(String[] args) { - SpringApplication.run(ReviewServiceApplication.class, args); - } -} diff --git "a/project_milestone_4/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" "b/project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" similarity index 100% rename from "project_milestone_4/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" rename to "project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" diff --git a/project_milestone_4/ReadMe.md b/project_milestone_4and5/ReadMe4.md similarity index 100% rename from project_milestone_4/ReadMe.md rename to project_milestone_4and5/ReadMe4.md diff --git a/project_milestone_4and5/ReadMe5.md b/project_milestone_4and5/ReadMe5.md new file mode 100644 index 0000000..600780c --- /dev/null +++ b/project_milestone_4and5/ReadMe5.md @@ -0,0 +1,107 @@ +# Locafy - Microservices Architecture - EXTENDED + +Locafy is a local business discovery platform implemented using Spring Boot Microservices. + +## Architecture + +1. **Discovery Server (Eureka):** Service Registry. +2. **API Gateway:** Routes all traffic (Port 8080). +3. **Business Service:** Manages business profiles (Uses Builder & Strategy patterns). +4. **Review Service:** Manages reviews. Validates business existence via REST calls to Business Service. +5. **Notification Service:** Simulates sending alerts when reviews are posted. + + +Part 1: Architecture Upgrade (Synchronous vs. Asynchronous) +Current State (Synchronous): Review Service -> calls Notification Service directly via HTTP (Feign). + +Problem: If the Notification Service is down, the Review Service fails or hangs. The user has to wait for the email to be sent before their review is saved. + +New State (Asynchronous with RabbitMQ): Review Service -> sends a message to RabbitMQ -> Notification Service picks it up later. + +Benefit: Decoupling. The Review Service doesn't care if the Notification Service is online. It saves the review, sends a message to the queue, and responds to the user immediately (Scalability & Fault Tolerance). + + +The Change +services: + # ... (Discovery, Gateway, Business Service remain the same) ... + + # NEW: Message Broker + rabbitmq: + image: rabbitmq:3.12-management + container_name: rabbitmq + ports: + - "5672:5672" # App communication port + - "15672:15672" # Management Dashboard (http://localhost:15672) + environment: + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest + + review-service: + build: ./review-service + container_name: review-service + ports: + - "8082:8082" + environment: + - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq # Connect to Rabbit container + depends_on: + - discovery-server + - business-service + - rabbitmq # Wait for RabbitMQ + + +adding this to the review-service pom: https://spring.io/projects/spring-amqp + + org.springframework.boot + spring-boot-starter-amqp + + +adding this to: src/main/java/com/locafy/review/config/RabbitMQConfig.java + +package com.locafy.review.config; + + import org.springframework.amqp.core.*; + import org.springframework.context.annotation.Bean; + import org.springframework.context.annotation.Configuration; + + @Configuration + public class RabbitMQConfig { + public static final String QUEUE = "notification.queue"; + public static final String EXCHANGE = "review.exchange"; + public static final String ROUTING_KEY = "review.routingKey"; + + @Bean + public Queue queue() { return new Queue(QUEUE); } + + @Bean + public TopicExchange exchange() { return new TopicExchange(EXCHANGE); } + + @Bean + public Binding binding(Queue queue, TopicExchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY); + } + } + +and then +Update Service Logic: Modify ReviewService.java to use RabbitTemplate instead of NotificationClient. + + + + + +old code to be added back +package com.example.review_service; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ReviewServiceApplication { + public static void main(String[] args) { + SpringApplication.run(ReviewServiceApplication.class, args); + } +} diff --git a/project_milestone_4/locafy-microservices/.idea/.gitignore b/project_milestone_4and5/locafy-microservices/.idea/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/.gitignore rename to project_milestone_4and5/locafy-microservices/.idea/.gitignore diff --git a/project_milestone_4/locafy-microservices/.idea/compiler.xml b/project_milestone_4and5/locafy-microservices/.idea/compiler.xml similarity index 94% rename from project_milestone_4/locafy-microservices/.idea/compiler.xml rename to project_milestone_4and5/locafy-microservices/.idea/compiler.xml index 2612fda..9d8df4c 100644 --- a/project_milestone_4/locafy-microservices/.idea/compiler.xml +++ b/project_milestone_4and5/locafy-microservices/.idea/compiler.xml @@ -9,7 +9,7 @@ - + @@ -17,8 +17,8 @@ - + diff --git a/project_milestone_4/locafy-microservices/.idea/encodings.xml b/project_milestone_4and5/locafy-microservices/.idea/encodings.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/encodings.xml rename to project_milestone_4and5/locafy-microservices/.idea/encodings.xml diff --git a/project_milestone_4/locafy-microservices/.idea/jarRepositories.xml b/project_milestone_4and5/locafy-microservices/.idea/jarRepositories.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/jarRepositories.xml rename to project_milestone_4and5/locafy-microservices/.idea/jarRepositories.xml diff --git a/project_milestone_4/locafy-microservices/.idea/locafy-microservices.iml b/project_milestone_4and5/locafy-microservices/.idea/locafy-microservices.iml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/locafy-microservices.iml rename to project_milestone_4and5/locafy-microservices/.idea/locafy-microservices.iml diff --git a/project_milestone_4/locafy-microservices/.idea/misc.xml b/project_milestone_4and5/locafy-microservices/.idea/misc.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/misc.xml rename to project_milestone_4and5/locafy-microservices/.idea/misc.xml diff --git a/project_milestone_4/locafy-microservices/.idea/modules.xml b/project_milestone_4and5/locafy-microservices/.idea/modules.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/modules.xml rename to project_milestone_4and5/locafy-microservices/.idea/modules.xml diff --git a/project_milestone_4/locafy-microservices/.idea/vcs.xml b/project_milestone_4and5/locafy-microservices/.idea/vcs.xml similarity index 100% rename from project_milestone_4/locafy-microservices/.idea/vcs.xml rename to project_milestone_4and5/locafy-microservices/.idea/vcs.xml diff --git a/project_milestone_4/locafy-microservices/api-gateway/.gitattributes b/project_milestone_4and5/locafy-microservices/api-gateway/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.gitattributes rename to project_milestone_4and5/locafy-microservices/api-gateway/.gitattributes diff --git a/project_milestone_4/locafy-microservices/api-gateway/.gitignore b/project_milestone_4and5/locafy-microservices/api-gateway/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.gitignore rename to project_milestone_4and5/locafy-microservices/api-gateway/.gitignore diff --git a/project_milestone_4/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties b/project_milestone_4and5/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties rename to project_milestone_4and5/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/api-gateway/Dockerfile b/project_milestone_4and5/locafy-microservices/api-gateway/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/Dockerfile rename to project_milestone_4and5/locafy-microservices/api-gateway/Dockerfile diff --git a/project_milestone_4/locafy-microservices/api-gateway/mvnw b/project_milestone_4and5/locafy-microservices/api-gateway/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/mvnw rename to project_milestone_4and5/locafy-microservices/api-gateway/mvnw diff --git a/project_milestone_4/locafy-microservices/api-gateway/mvnw.cmd b/project_milestone_4and5/locafy-microservices/api-gateway/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/mvnw.cmd rename to project_milestone_4and5/locafy-microservices/api-gateway/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/api-gateway/pom.xml b/project_milestone_4and5/locafy-microservices/api-gateway/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/pom.xml rename to project_milestone_4and5/locafy-microservices/api-gateway/pom.xml diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java b/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java rename to project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java b/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java rename to project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java b/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java rename to project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/main/resources/application.yaml b/project_milestone_4and5/locafy-microservices/api-gateway/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/main/resources/application.yaml rename to project_milestone_4and5/locafy-microservices/api-gateway/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java b/project_milestone_4and5/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java rename to project_milestone_4and5/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/business-service/.gitattributes b/project_milestone_4and5/locafy-microservices/business-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.gitattributes rename to project_milestone_4and5/locafy-microservices/business-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/business-service/.gitignore b/project_milestone_4and5/locafy-microservices/business-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.gitignore rename to project_milestone_4and5/locafy-microservices/business-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties b/project_milestone_4and5/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties rename to project_milestone_4and5/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/business-service/Dockerfile b/project_milestone_4and5/locafy-microservices/business-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/Dockerfile rename to project_milestone_4and5/locafy-microservices/business-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/business-service/mvnw b/project_milestone_4and5/locafy-microservices/business-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/mvnw rename to project_milestone_4and5/locafy-microservices/business-service/mvnw diff --git a/project_milestone_4/locafy-microservices/business-service/mvnw.cmd b/project_milestone_4and5/locafy-microservices/business-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/mvnw.cmd rename to project_milestone_4and5/locafy-microservices/business-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/business-service/pom.xml b/project_milestone_4and5/locafy-microservices/business-service/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/pom.xml rename to project_milestone_4and5/locafy-microservices/business-service/pom.xml diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java b/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java rename to project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java diff --git a/project_milestone_4/locafy-microservices/business-service/src/main/resources/application.yaml b/project_milestone_4and5/locafy-microservices/business-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/main/resources/application.yaml rename to project_milestone_4and5/locafy-microservices/business-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java b/project_milestone_4and5/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java rename to project_milestone_4and5/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/discovery-server/.gitattributes b/project_milestone_4and5/locafy-microservices/discovery-server/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.gitattributes rename to project_milestone_4and5/locafy-microservices/discovery-server/.gitattributes diff --git a/project_milestone_4/locafy-microservices/discovery-server/.gitignore b/project_milestone_4and5/locafy-microservices/discovery-server/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.gitignore rename to project_milestone_4and5/locafy-microservices/discovery-server/.gitignore diff --git a/project_milestone_4/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties b/project_milestone_4and5/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties rename to project_milestone_4and5/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/discovery-server/Dockerfile b/project_milestone_4and5/locafy-microservices/discovery-server/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/Dockerfile rename to project_milestone_4and5/locafy-microservices/discovery-server/Dockerfile diff --git a/project_milestone_4/locafy-microservices/discovery-server/mvnw b/project_milestone_4and5/locafy-microservices/discovery-server/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/mvnw rename to project_milestone_4and5/locafy-microservices/discovery-server/mvnw diff --git a/project_milestone_4/locafy-microservices/discovery-server/mvnw.cmd b/project_milestone_4and5/locafy-microservices/discovery-server/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/mvnw.cmd rename to project_milestone_4and5/locafy-microservices/discovery-server/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/discovery-server/pom.xml b/project_milestone_4and5/locafy-microservices/discovery-server/pom.xml similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/pom.xml rename to project_milestone_4and5/locafy-microservices/discovery-server/pom.xml diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java b/project_milestone_4and5/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java rename to project_milestone_4and5/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/main/resources/application.yaml b/project_milestone_4and5/locafy-microservices/discovery-server/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/main/resources/application.yaml rename to project_milestone_4and5/locafy-microservices/discovery-server/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java b/project_milestone_4and5/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java rename to project_milestone_4and5/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/docker-compose.yml b/project_milestone_4and5/locafy-microservices/docker-compose.yml similarity index 70% rename from project_milestone_4/locafy-microservices/docker-compose.yml rename to project_milestone_4and5/locafy-microservices/docker-compose.yml index af6470b..a954697 100644 --- a/project_milestone_4/locafy-microservices/docker-compose.yml +++ b/project_milestone_4and5/locafy-microservices/docker-compose.yml @@ -30,15 +30,17 @@ services: depends_on: - discovery-server - notification-service: - build: ./notification-service - container_name: notification-service + + # EXTENDED MICROSERV. with RabbitMQ + rabbitmq: + image: rabbitmq:3.12-management + container_name: rabbitmq ports: - - "8083:8083" + - "5672:5672" # App communication port + - "15672:15672" # Management dashboard foir RabbitMQ (http://localhost:15672) environment: - - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ - depends_on: - - discovery-server + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest review-service: build: ./review-service @@ -47,6 +49,21 @@ services: - "8082:8082" environment: - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq # Connect to Rabbit container depends_on: - discovery-server - - business-service \ No newline at end of file + - business-service + - rabbitmq # Wait for RabbitMQ + + notification-service: + build: ./notification-service + container_name: notification-service + ports: + - "8083:8083" + environment: + - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://discovery-server:8761/eureka/ + - SPRING_RABBITMQ_HOST=rabbitmq + depends_on: + - discovery-server + - rabbitmq + diff --git a/project_milestone_4/locafy-microservices/notification-service/.gitattributes b/project_milestone_4and5/locafy-microservices/notification-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.gitattributes rename to project_milestone_4and5/locafy-microservices/notification-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/notification-service/.gitignore b/project_milestone_4and5/locafy-microservices/notification-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.gitignore rename to project_milestone_4and5/locafy-microservices/notification-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties b/project_milestone_4and5/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties rename to project_milestone_4and5/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/notification-service/Dockerfile b/project_milestone_4and5/locafy-microservices/notification-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/Dockerfile rename to project_milestone_4and5/locafy-microservices/notification-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/notification-service/mvnw b/project_milestone_4and5/locafy-microservices/notification-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/mvnw rename to project_milestone_4and5/locafy-microservices/notification-service/mvnw diff --git a/project_milestone_4/locafy-microservices/notification-service/mvnw.cmd b/project_milestone_4and5/locafy-microservices/notification-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/mvnw.cmd rename to project_milestone_4and5/locafy-microservices/notification-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/notification-service/pom.xml b/project_milestone_4and5/locafy-microservices/notification-service/pom.xml similarity index 95% rename from project_milestone_4/locafy-microservices/notification-service/pom.xml rename to project_milestone_4and5/locafy-microservices/notification-service/pom.xml index 0188bb2..ef0d7b0 100644 --- a/project_milestone_4/locafy-microservices/notification-service/pom.xml +++ b/project_milestone_4and5/locafy-microservices/notification-service/pom.xml @@ -39,6 +39,10 @@ org.springframework.boot spring-boot-starter-webmvc + + org.springframework.boot + spring-boot-starter-amqp + org.springframework.cloud spring-cloud-starter-netflix-eureka-client diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java b/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java rename to project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java b/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java new file mode 100644 index 0000000..8abbcc1 --- /dev/null +++ b/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java @@ -0,0 +1,21 @@ +package com.example.notification_service.consumer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +@Component +public class NotificationConsumer { + + private static final Logger log = LoggerFactory.getLogger(NotificationConsumer.class); + + // Listens to the queue defined in the Review Service + @RabbitListener(queues = "notification.queue") + public void consumeMessage(String message) { + log.info("------------------------------------------------"); + log.info("🐰 RABBITMQ MESSAGE RECEIVED: {}", message); + log.info("------------------------------------------------"); + // Here you would add logic to send actual Email/SMS + } +} diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java b/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java rename to project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java diff --git a/project_milestone_4/locafy-microservices/notification-service/src/main/resources/application.yaml b/project_milestone_4and5/locafy-microservices/notification-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/main/resources/application.yaml rename to project_milestone_4and5/locafy-microservices/notification-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java b/project_milestone_4and5/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java rename to project_milestone_4and5/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java diff --git a/project_milestone_4/locafy-microservices/review-service/.gitattributes b/project_milestone_4and5/locafy-microservices/review-service/.gitattributes similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.gitattributes rename to project_milestone_4and5/locafy-microservices/review-service/.gitattributes diff --git a/project_milestone_4/locafy-microservices/review-service/.gitignore b/project_milestone_4and5/locafy-microservices/review-service/.gitignore similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.gitignore rename to project_milestone_4and5/locafy-microservices/review-service/.gitignore diff --git a/project_milestone_4/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties b/project_milestone_4and5/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties rename to project_milestone_4and5/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4/locafy-microservices/review-service/Dockerfile b/project_milestone_4and5/locafy-microservices/review-service/Dockerfile similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/Dockerfile rename to project_milestone_4and5/locafy-microservices/review-service/Dockerfile diff --git a/project_milestone_4/locafy-microservices/review-service/mvnw b/project_milestone_4and5/locafy-microservices/review-service/mvnw similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/mvnw rename to project_milestone_4and5/locafy-microservices/review-service/mvnw diff --git a/project_milestone_4/locafy-microservices/review-service/mvnw.cmd b/project_milestone_4and5/locafy-microservices/review-service/mvnw.cmd similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/mvnw.cmd rename to project_milestone_4and5/locafy-microservices/review-service/mvnw.cmd diff --git a/project_milestone_4/locafy-microservices/review-service/pom.xml b/project_milestone_4and5/locafy-microservices/review-service/pom.xml similarity index 95% rename from project_milestone_4/locafy-microservices/review-service/pom.xml rename to project_milestone_4and5/locafy-microservices/review-service/pom.xml index cc4fd62..bb42ba0 100644 --- a/project_milestone_4/locafy-microservices/review-service/pom.xml +++ b/project_milestone_4and5/locafy-microservices/review-service/pom.xml @@ -39,6 +39,12 @@ org.springframework.boot spring-boot-starter-webmvc + + + org.springframework.boot + spring-boot-starter-amqp + + org.springframework.cloud spring-cloud-starter-netflix-eureka-client diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java new file mode 100644 index 0000000..b47398c --- /dev/null +++ b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java @@ -0,0 +1,39 @@ +package com.example.review_service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; + +//@SpringBootApplication +//@EnableDiscoveryClient +//@EnableFeignClients +//@EnableScheduling // <--- CRITICAL: Enables the timer +//public class ReviewServiceApplication { +// +// private static final Logger log = +// LoggerFactory.getLogger(ReviewServiceApplication.class); +// +// public static void main(String[] args) { +// SpringApplication.run(ReviewServiceApplication.class, args); +// log.info("🚀 APPLICATION STARTED"); +// } +// +// @Scheduled(fixedRate = 3000) +// public void heartbeat() { +// log.info("💓 HEARTBEAT – app is alive"); +// } +//} + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ReviewServiceApplication { + public static void main(String[] args) { + SpringApplication.run(ReviewServiceApplication.class, args); + } +} \ No newline at end of file diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java new file mode 100644 index 0000000..8308d7d --- /dev/null +++ b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java @@ -0,0 +1,25 @@ +package com.example.review_service.config; + +import org.springframework.amqp.core.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +@Configuration +public class RabbitMQConfig { + public static String QUEUE = "notification.queue"; + public static String EXCHANGE = "review.exchange"; + public static String ROUTING_KEY = "review.routingKey"; + + @Bean + public Queue queue() { return new Queue(QUEUE); } //this is not the queue of java.util.queue but + //but it is org.springframework.amqp.core.Queue; + + @Bean + public TopicExchange exchange() { return new TopicExchange(EXCHANGE); } + + @Bean + public Binding binding(Queue queue, TopicExchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY); + } +} diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..14c201c --- /dev/null +++ b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java @@ -0,0 +1,24 @@ +package com.example.review_service.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.util.HashMap; +import java.util.Map; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(RuntimeException.class) + public ResponseEntity> handleRuntimeException(RuntimeException ex) { + Map response = new HashMap<>(); + response.put("error", "Validation Error"); + response.put("message", ex.getMessage()); + response.put("status", "404"); + + // Return 404 Not Found instead of 500 Internal Server Error + return new ResponseEntity<>(response, HttpStatus.NOT_FOUND); + } +} \ No newline at end of file diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java similarity index 52% rename from project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java rename to project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java index a35c439..45ee12c 100644 --- a/project_milestone_4/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java +++ b/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java @@ -3,8 +3,10 @@ import com.example.review_service.client.BusinessClient; import com.example.review_service.client.NotificationClient; +import com.example.review_service.config.RabbitMQConfig; import com.example.review_service.model.Review; import com.example.review_service.repository.ReviewRepository; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -14,11 +16,17 @@ public class ReviewService { @Autowired private ReviewRepository repository; - @Autowired private BusinessClient businessClient; - @Autowired private NotificationClient notificationClient; + + @Autowired + private BusinessClient businessClient; + + // REPLACED: NotificationClient (Synchronous/Feign) with RabbitTemplate (Async/AMQP) + @Autowired + private RabbitTemplate rabbitTemplate; public Review createReview(Review review) { - // 1. Inter-service Validation + // 1. Inter-service Validation (Still Synchronous via Feign) + // We still need to confirm the business exists before saving the review try { businessClient.getBusiness(review.getBusinessId()); } catch (Exception e) { @@ -28,8 +36,16 @@ public Review createReview(Review review) { // 2. Persist Review Review saved = repository.save(review); - // 3. Trigger Notification (Simulating Event) - notificationClient.sendNotification("New Review Posted for Business ID: " + review.getBusinessId()); + // 3. Trigger Notification (Asynchronous Event) + // Instead of calling the API directly, we drop a message into the exchange + String message = "New Review Posted for Business ID: " + review.getBusinessId(); + + // Use constants from your RabbitMQConfig class + rabbitTemplate.convertAndSend( + RabbitMQConfig.EXCHANGE, + RabbitMQConfig.ROUTING_KEY, + message + ); return saved; } diff --git a/project_milestone_4/locafy-microservices/review-service/src/main/resources/application.yaml b/project_milestone_4and5/locafy-microservices/review-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/main/resources/application.yaml rename to project_milestone_4and5/locafy-microservices/review-service/src/main/resources/application.yaml diff --git a/project_milestone_4/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java b/project_milestone_4and5/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java similarity index 100% rename from project_milestone_4/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java rename to project_milestone_4and5/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java diff --git a/project_milestone_4/locafy-test.json b/project_milestone_4and5/locafy-test.json similarity index 100% rename from project_milestone_4/locafy-test.json rename to project_milestone_4and5/locafy-test.json diff --git a/project_milestone_4/zips/api-gateway.zip b/project_milestone_4and5/zips/api-gateway.zip similarity index 100% rename from project_milestone_4/zips/api-gateway.zip rename to project_milestone_4and5/zips/api-gateway.zip diff --git a/project_milestone_4/zips/business-service.zip b/project_milestone_4and5/zips/business-service.zip similarity index 100% rename from project_milestone_4/zips/business-service.zip rename to project_milestone_4and5/zips/business-service.zip diff --git a/project_milestone_4/zips/discovery-server.zip b/project_milestone_4and5/zips/discovery-server.zip similarity index 100% rename from project_milestone_4/zips/discovery-server.zip rename to project_milestone_4and5/zips/discovery-server.zip diff --git a/project_milestone_4/zips/notification-service.zip b/project_milestone_4and5/zips/notification-service.zip similarity index 100% rename from project_milestone_4/zips/notification-service.zip rename to project_milestone_4and5/zips/notification-service.zip diff --git a/project_milestone_4/zips/review-service.zip b/project_milestone_4and5/zips/review-service.zip similarity index 100% rename from project_milestone_4/zips/review-service.zip rename to project_milestone_4and5/zips/review-service.zip From b2e7159a58595e475fb33e9d69b13b2446dfca8d Mon Sep 17 00:00:00 2001 From: rebeca <163349981+ChioreanRebeca@users.noreply.github.com> Date: Sun, 14 Dec 2025 20:55:26 +0200 Subject: [PATCH 2/3] cleaned the project structure --- .../ReadMe4.md => ReadMe4.md | 0 .../ReadMe5.md => ReadMe5.md | 0 .../.idea/.gitignore | 0 .../.idea/compiler.xml | 0 .../.idea/encodings.xml | 0 .../.idea/jarRepositories.xml | 0 .../.idea/locafy-microservices.iml | 0 .../.idea/misc.xml | 0 .../.idea/modules.xml | 0 .../.idea/vcs.xml | 0 .../api-gateway/.gitattributes | 0 .../api-gateway/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../api-gateway/Dockerfile | 0 .../api-gateway/mvnw | 0 .../api-gateway/mvnw.cmd | 0 .../api-gateway/pom.xml | 0 .../api_gateway/ApiGatewayApplication.java | 0 .../api_gateway/config/GatewayConfig.java | 0 .../api_gateway/config/GlobalErrorConfig.java | 0 .../src/main/resources/application.yaml | 0 .../api_gateway/ApiGatewayApplicationTests.java | 0 .../business-service/.gitattributes | 0 .../business-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../business-service/Dockerfile | 0 .../business-service/mvnw | 0 .../business-service/mvnw.cmd | 0 .../business-service/pom.xml | 0 .../BusinessServiceApplication.java | 0 .../controller/BusinessController.java | 0 .../business_service/loader/DataLoader.java | 0 .../business_service/model/BusinessProfile.java | 0 .../repository/BusinessRepository.java | 0 .../service/BusinessService.java | 0 .../strategy/CategorySearchStrategy.java | 0 .../strategy/LocationSearchStrategy.java | 0 .../strategy/NameSearchStrategy.java | 0 .../strategy/SearchStrategy.java | 0 .../src/main/resources/application.yaml | 0 .../BusinessServiceApplicationTests.java | 0 .../discovery-server/.gitattributes | 0 .../discovery-server/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../discovery-server/Dockerfile | 0 .../discovery-server/mvnw | 0 .../discovery-server/mvnw.cmd | 0 .../discovery-server/pom.xml | 0 .../DiscoveryServerApplication.java | 0 .../src/main/resources/application.yaml | 0 .../DiscoveryServerApplicationTests.java | 0 .../docker-compose.yml | 0 .../notification-service/.gitattributes | 0 .../notification-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../notification-service/Dockerfile | 0 .../notification-service/mvnw | 0 .../notification-service/mvnw.cmd | 0 .../notification-service/pom.xml | 0 .../NotificationServiceApplication.java | 0 .../consumer/NotificationConsumer.java | 0 .../controller/NotificationController.java | 0 .../src/main/resources/application.yaml | 0 .../NotificationServiceApplicationTests.java | 0 .../review-service/.gitattributes | 0 .../review-service/.gitignore | 0 .../.mvn/wrapper/maven-wrapper.properties | 0 .../review-service/Dockerfile | 0 .../review-service/mvnw | 0 .../review-service/mvnw.cmd | 0 .../review-service/pom.xml | 0 .../ReviewServiceApplication.java | 0 .../review_service/client/BusinessClient.java | 0 .../client/NotificationClient.java | 0 .../review_service/config/RabbitMQConfig.java | 0 .../controller/ReviewController.java | 0 .../exception/GlobalExceptionHandler.java | 0 .../example/review_service/model/Review.java | 0 .../repository/ReviewRepository.java | 0 .../review_service/service/ReviewService.java | 0 .../src/main/resources/application.yaml | 0 .../ReviewServiceApplicationTests.java | 0 ...project \342\200\234etapa 4\342\200\235.pdf" | Bin SDT(P) etapa3.pdf => misc/SDT(P) etapa3.pdf | Bin .../diagrams}/jpg/CD - Microservices.jpg | Bin .../diagrams}/jpg/CD - Monolithic.jpg | Bin .../diagrams}/jpg/CD - Three Layers.jpg | Bin .../diagrams}/jpg/DD - Microservices.jpg | Bin .../diagrams}/jpg/DD - Monolithic .jpg | Bin .../diagrams}/jpg/DD - Three Layers.jpg | Bin .../diagrams}/jpg/class_diagram.jpg | Bin ...agram 1 creating and updating a business.jpg | Bin ...iagram2 contacting and leaving a review.jpg | Bin .../diagrams}/png/CD - Microservices.png | Bin .../diagrams}/png/CD - Monolithic.png | Bin .../diagrams}/png/CD - Three Layers.png | Bin .../diagrams}/png/DD - Microservices.png | Bin .../diagrams}/png/DD - Monolithic .png | Bin .../diagrams}/png/DD - Three Layers.png | Bin .../diagrams}/png/class_diagram.png | Bin ...agram 1 creating and updating a business.png | Bin ...iagram2 contacting and leaving a review.png | Bin .../poject_milestone_2}/.gitignore | 0 .../poject_milestone_2}/.idea/.gitignore | 0 .../.idea/codeStyles/Project.xml | 0 .../.idea/codeStyles/codeStyleConfig.xml | 0 .../poject_milestone_2}/.idea/misc.xml | 0 .../poject_milestone_2}/.idea/modules.xml | 0 .../poject_milestone_2}/.idea/vcs.xml | 0 .../poject_milestone_2}/poject_milestone_2.iml | 0 .../src/AnalyticsService.java | 0 .../src/BusinessProfile.java | 0 .../src/BusinessProfileBuilder.java | 0 .../poject_milestone_2}/src/CategorySearch.java | 0 .../poject_milestone_2}/src/Coordinates.java | 0 .../poject_milestone_2}/src/Customer.java | 0 .../poject_milestone_2}/src/EventBus.java | 0 .../poject_milestone_2}/src/EventListener.java | 0 .../poject_milestone_2}/src/EventType.java | 0 .../src/ExternalGoogleMapsAPI.java | 0 .../src/GoogleMapsAdapter.java | 0 .../poject_milestone_2}/src/LocationSearch.java | 0 .../poject_milestone_2}/src/Main.java | 0 .../poject_milestone_2}/src/MapService.java | 0 .../poject_milestone_2}/src/NameSearch.java | 0 .../src/NotificationService.java | 0 .../src/ReputationService.java | 0 .../poject_milestone_2}/src/Review.java | 0 .../poject_milestone_2}/src/ReviewService.java | 0 .../poject_milestone_2}/src/SearchService.java | 0 .../poject_milestone_2}/src/SearchStrategy.java | 0 .../postman_test}/locafy-test.json | 0 project_milestone_4and5/zips/api-gateway.zip | Bin 15495 -> 0 bytes .../zips/business-service.zip | Bin 16770 -> 0 bytes .../zips/discovery-server.zip | Bin 15759 -> 0 bytes .../zips/notification-service.zip | Bin 17033 -> 0 bytes project_milestone_4and5/zips/review-service.zip | Bin 16628 -> 0 bytes 137 files changed, 0 insertions(+), 0 deletions(-) rename project_milestone_4and5/ReadMe4.md => ReadMe4.md (100%) rename project_milestone_4and5/ReadMe5.md => ReadMe5.md (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/compiler.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/encodings.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/jarRepositories.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/locafy-microservices.iml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/misc.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/modules.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/.idea/vcs.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/.gitattributes (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/Dockerfile (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/mvnw (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/mvnw.cmd (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/pom.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/src/main/resources/application.yaml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/.gitattributes (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/Dockerfile (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/mvnw (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/mvnw.cmd (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/pom.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/controller/BusinessController.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/loader/DataLoader.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/service/BusinessService.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/main/resources/application.yaml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/.gitattributes (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/Dockerfile (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/mvnw (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/mvnw.cmd (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/pom.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/src/main/resources/application.yaml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/docker-compose.yml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/.gitattributes (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/Dockerfile (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/mvnw (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/mvnw.cmd (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/pom.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/src/main/resources/application.yaml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/.gitattributes (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/.gitignore (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/.mvn/wrapper/maven-wrapper.properties (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/Dockerfile (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/mvnw (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/mvnw.cmd (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/pom.xml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/client/BusinessClient.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/client/NotificationClient.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/controller/ReviewController.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/model/Review.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/java/com/example/review_service/service/ReviewService.java (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/main/resources/application.yaml (100%) rename {project_milestone_4and5/locafy-microservices => locafy-microservices}/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java (100%) rename "project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" => "misc/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" (100%) rename SDT(P) etapa3.pdf => misc/SDT(P) etapa3.pdf (100%) rename {diagrams => misc/diagrams}/jpg/CD - Microservices.jpg (100%) rename {diagrams => misc/diagrams}/jpg/CD - Monolithic.jpg (100%) rename {diagrams => misc/diagrams}/jpg/CD - Three Layers.jpg (100%) rename {diagrams => misc/diagrams}/jpg/DD - Microservices.jpg (100%) rename {diagrams => misc/diagrams}/jpg/DD - Monolithic .jpg (100%) rename {diagrams => misc/diagrams}/jpg/DD - Three Layers.jpg (100%) rename {diagrams => misc/diagrams}/jpg/class_diagram.jpg (100%) rename {diagrams => misc/diagrams}/jpg/seq. diagram 1 creating and updating a business.jpg (100%) rename {diagrams => misc/diagrams}/jpg/seq. diagram2 contacting and leaving a review.jpg (100%) rename {diagrams => misc/diagrams}/png/CD - Microservices.png (100%) rename {diagrams => misc/diagrams}/png/CD - Monolithic.png (100%) rename {diagrams => misc/diagrams}/png/CD - Three Layers.png (100%) rename {diagrams => misc/diagrams}/png/DD - Microservices.png (100%) rename {diagrams => misc/diagrams}/png/DD - Monolithic .png (100%) rename {diagrams => misc/diagrams}/png/DD - Three Layers.png (100%) rename {diagrams => misc/diagrams}/png/class_diagram.png (100%) rename {diagrams => misc/diagrams}/png/seq. diagram 1 creating and updating a business.png (100%) rename {diagrams => misc/diagrams}/png/seq. diagram2 contacting and leaving a review.png (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.gitignore (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/.gitignore (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/codeStyles/Project.xml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/codeStyles/codeStyleConfig.xml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/misc.xml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/modules.xml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/.idea/vcs.xml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/poject_milestone_2.iml (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/AnalyticsService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/BusinessProfile.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/BusinessProfileBuilder.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/CategorySearch.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/Coordinates.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/Customer.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/EventBus.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/EventListener.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/EventType.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/ExternalGoogleMapsAPI.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/GoogleMapsAdapter.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/LocationSearch.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/Main.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/MapService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/NameSearch.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/NotificationService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/ReputationService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/Review.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/ReviewService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/SearchService.java (100%) rename {poject_milestone_2 => misc/poject_milestone_2}/src/SearchStrategy.java (100%) rename {project_milestone_4and5 => misc/postman_test}/locafy-test.json (100%) delete mode 100644 project_milestone_4and5/zips/api-gateway.zip delete mode 100644 project_milestone_4and5/zips/business-service.zip delete mode 100644 project_milestone_4and5/zips/discovery-server.zip delete mode 100644 project_milestone_4and5/zips/notification-service.zip delete mode 100644 project_milestone_4and5/zips/review-service.zip diff --git a/project_milestone_4and5/ReadMe4.md b/ReadMe4.md similarity index 100% rename from project_milestone_4and5/ReadMe4.md rename to ReadMe4.md diff --git a/project_milestone_4and5/ReadMe5.md b/ReadMe5.md similarity index 100% rename from project_milestone_4and5/ReadMe5.md rename to ReadMe5.md diff --git a/project_milestone_4and5/locafy-microservices/.idea/.gitignore b/locafy-microservices/.idea/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/.gitignore rename to locafy-microservices/.idea/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/.idea/compiler.xml b/locafy-microservices/.idea/compiler.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/compiler.xml rename to locafy-microservices/.idea/compiler.xml diff --git a/project_milestone_4and5/locafy-microservices/.idea/encodings.xml b/locafy-microservices/.idea/encodings.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/encodings.xml rename to locafy-microservices/.idea/encodings.xml diff --git a/project_milestone_4and5/locafy-microservices/.idea/jarRepositories.xml b/locafy-microservices/.idea/jarRepositories.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/jarRepositories.xml rename to locafy-microservices/.idea/jarRepositories.xml diff --git a/project_milestone_4and5/locafy-microservices/.idea/locafy-microservices.iml b/locafy-microservices/.idea/locafy-microservices.iml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/locafy-microservices.iml rename to locafy-microservices/.idea/locafy-microservices.iml diff --git a/project_milestone_4and5/locafy-microservices/.idea/misc.xml b/locafy-microservices/.idea/misc.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/misc.xml rename to locafy-microservices/.idea/misc.xml diff --git a/project_milestone_4and5/locafy-microservices/.idea/modules.xml b/locafy-microservices/.idea/modules.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/modules.xml rename to locafy-microservices/.idea/modules.xml diff --git a/project_milestone_4and5/locafy-microservices/.idea/vcs.xml b/locafy-microservices/.idea/vcs.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/.idea/vcs.xml rename to locafy-microservices/.idea/vcs.xml diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/.gitattributes b/locafy-microservices/api-gateway/.gitattributes similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/.gitattributes rename to locafy-microservices/api-gateway/.gitattributes diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/.gitignore b/locafy-microservices/api-gateway/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/.gitignore rename to locafy-microservices/api-gateway/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/api-gateway/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/Dockerfile b/locafy-microservices/api-gateway/Dockerfile similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/Dockerfile rename to locafy-microservices/api-gateway/Dockerfile diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/mvnw b/locafy-microservices/api-gateway/mvnw similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/mvnw rename to locafy-microservices/api-gateway/mvnw diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/mvnw.cmd b/locafy-microservices/api-gateway/mvnw.cmd similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/mvnw.cmd rename to locafy-microservices/api-gateway/mvnw.cmd diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/pom.xml b/locafy-microservices/api-gateway/pom.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/pom.xml rename to locafy-microservices/api-gateway/pom.xml diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/ApiGatewayApplication.java diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GatewayConfig.java diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java b/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java rename to locafy-microservices/api-gateway/src/main/java/com/example/api_gateway/config/GlobalErrorConfig.java diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/src/main/resources/application.yaml b/locafy-microservices/api-gateway/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/src/main/resources/application.yaml rename to locafy-microservices/api-gateway/src/main/resources/application.yaml diff --git a/project_milestone_4and5/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java b/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java rename to locafy-microservices/api-gateway/src/test/java/com/example/api_gateway/ApiGatewayApplicationTests.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/.gitattributes b/locafy-microservices/business-service/.gitattributes similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/.gitattributes rename to locafy-microservices/business-service/.gitattributes diff --git a/project_milestone_4and5/locafy-microservices/business-service/.gitignore b/locafy-microservices/business-service/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/.gitignore rename to locafy-microservices/business-service/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/business-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4and5/locafy-microservices/business-service/Dockerfile b/locafy-microservices/business-service/Dockerfile similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/Dockerfile rename to locafy-microservices/business-service/Dockerfile diff --git a/project_milestone_4and5/locafy-microservices/business-service/mvnw b/locafy-microservices/business-service/mvnw similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/mvnw rename to locafy-microservices/business-service/mvnw diff --git a/project_milestone_4and5/locafy-microservices/business-service/mvnw.cmd b/locafy-microservices/business-service/mvnw.cmd similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/mvnw.cmd rename to locafy-microservices/business-service/mvnw.cmd diff --git a/project_milestone_4and5/locafy-microservices/business-service/pom.xml b/locafy-microservices/business-service/pom.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/pom.xml rename to locafy-microservices/business-service/pom.xml diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/BusinessServiceApplication.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/controller/BusinessController.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/loader/DataLoader.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/model/BusinessProfile.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/repository/BusinessRepository.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/service/BusinessService.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/CategorySearchStrategy.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/LocationSearchStrategy.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/NameSearchStrategy.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java b/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java rename to locafy-microservices/business-service/src/main/java/com/example/business_service/strategy/SearchStrategy.java diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/main/resources/application.yaml b/locafy-microservices/business-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/main/resources/application.yaml rename to locafy-microservices/business-service/src/main/resources/application.yaml diff --git a/project_milestone_4and5/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java b/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java rename to locafy-microservices/business-service/src/test/java/com/example/business_service/BusinessServiceApplicationTests.java diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/.gitattributes b/locafy-microservices/discovery-server/.gitattributes similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/.gitattributes rename to locafy-microservices/discovery-server/.gitattributes diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/.gitignore b/locafy-microservices/discovery-server/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/.gitignore rename to locafy-microservices/discovery-server/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/discovery-server/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/Dockerfile b/locafy-microservices/discovery-server/Dockerfile similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/Dockerfile rename to locafy-microservices/discovery-server/Dockerfile diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/mvnw b/locafy-microservices/discovery-server/mvnw similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/mvnw rename to locafy-microservices/discovery-server/mvnw diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/mvnw.cmd b/locafy-microservices/discovery-server/mvnw.cmd similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/mvnw.cmd rename to locafy-microservices/discovery-server/mvnw.cmd diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/pom.xml b/locafy-microservices/discovery-server/pom.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/pom.xml rename to locafy-microservices/discovery-server/pom.xml diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java b/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java rename to locafy-microservices/discovery-server/src/main/java/com/example/discovery_server/DiscoveryServerApplication.java diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/src/main/resources/application.yaml b/locafy-microservices/discovery-server/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/src/main/resources/application.yaml rename to locafy-microservices/discovery-server/src/main/resources/application.yaml diff --git a/project_milestone_4and5/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java b/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java rename to locafy-microservices/discovery-server/src/test/java/com/example/discovery_server/DiscoveryServerApplicationTests.java diff --git a/project_milestone_4and5/locafy-microservices/docker-compose.yml b/locafy-microservices/docker-compose.yml similarity index 100% rename from project_milestone_4and5/locafy-microservices/docker-compose.yml rename to locafy-microservices/docker-compose.yml diff --git a/project_milestone_4and5/locafy-microservices/notification-service/.gitattributes b/locafy-microservices/notification-service/.gitattributes similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/.gitattributes rename to locafy-microservices/notification-service/.gitattributes diff --git a/project_milestone_4and5/locafy-microservices/notification-service/.gitignore b/locafy-microservices/notification-service/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/.gitignore rename to locafy-microservices/notification-service/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/notification-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4and5/locafy-microservices/notification-service/Dockerfile b/locafy-microservices/notification-service/Dockerfile similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/Dockerfile rename to locafy-microservices/notification-service/Dockerfile diff --git a/project_milestone_4and5/locafy-microservices/notification-service/mvnw b/locafy-microservices/notification-service/mvnw similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/mvnw rename to locafy-microservices/notification-service/mvnw diff --git a/project_milestone_4and5/locafy-microservices/notification-service/mvnw.cmd b/locafy-microservices/notification-service/mvnw.cmd similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/mvnw.cmd rename to locafy-microservices/notification-service/mvnw.cmd diff --git a/project_milestone_4and5/locafy-microservices/notification-service/pom.xml b/locafy-microservices/notification-service/pom.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/pom.xml rename to locafy-microservices/notification-service/pom.xml diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java rename to locafy-microservices/notification-service/src/main/java/com/example/notification_service/NotificationServiceApplication.java diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java rename to locafy-microservices/notification-service/src/main/java/com/example/notification_service/consumer/NotificationConsumer.java diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java b/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java rename to locafy-microservices/notification-service/src/main/java/com/example/notification_service/controller/NotificationController.java diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/main/resources/application.yaml b/locafy-microservices/notification-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/src/main/resources/application.yaml rename to locafy-microservices/notification-service/src/main/resources/application.yaml diff --git a/project_milestone_4and5/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java b/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java rename to locafy-microservices/notification-service/src/test/java/com/example/notification_service/NotificationServiceApplicationTests.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/.gitattributes b/locafy-microservices/review-service/.gitattributes similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/.gitattributes rename to locafy-microservices/review-service/.gitattributes diff --git a/project_milestone_4and5/locafy-microservices/review-service/.gitignore b/locafy-microservices/review-service/.gitignore similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/.gitignore rename to locafy-microservices/review-service/.gitignore diff --git a/project_milestone_4and5/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties b/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties rename to locafy-microservices/review-service/.mvn/wrapper/maven-wrapper.properties diff --git a/project_milestone_4and5/locafy-microservices/review-service/Dockerfile b/locafy-microservices/review-service/Dockerfile similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/Dockerfile rename to locafy-microservices/review-service/Dockerfile diff --git a/project_milestone_4and5/locafy-microservices/review-service/mvnw b/locafy-microservices/review-service/mvnw similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/mvnw rename to locafy-microservices/review-service/mvnw diff --git a/project_milestone_4and5/locafy-microservices/review-service/mvnw.cmd b/locafy-microservices/review-service/mvnw.cmd similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/mvnw.cmd rename to locafy-microservices/review-service/mvnw.cmd diff --git a/project_milestone_4and5/locafy-microservices/review-service/pom.xml b/locafy-microservices/review-service/pom.xml similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/pom.xml rename to locafy-microservices/review-service/pom.xml diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/ReviewServiceApplication.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/client/BusinessClient.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/client/NotificationClient.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/config/RabbitMQConfig.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/controller/ReviewController.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/exception/GlobalExceptionHandler.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/model/Review.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/repository/ReviewRepository.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java b/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java rename to locafy-microservices/review-service/src/main/java/com/example/review_service/service/ReviewService.java diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/main/resources/application.yaml b/locafy-microservices/review-service/src/main/resources/application.yaml similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/main/resources/application.yaml rename to locafy-microservices/review-service/src/main/resources/application.yaml diff --git a/project_milestone_4and5/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java b/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java similarity index 100% rename from project_milestone_4and5/locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java rename to locafy-microservices/review-service/src/test/java/com/example/review_service/ReviewServiceApplicationTests.java diff --git "a/project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" "b/misc/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" similarity index 100% rename from "project_milestone_4and5/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" rename to "misc/Quick review of SDTproject \342\200\234etapa 4\342\200\235.pdf" diff --git a/SDT(P) etapa3.pdf b/misc/SDT(P) etapa3.pdf similarity index 100% rename from SDT(P) etapa3.pdf rename to misc/SDT(P) etapa3.pdf diff --git a/diagrams/jpg/CD - Microservices.jpg b/misc/diagrams/jpg/CD - Microservices.jpg similarity index 100% rename from diagrams/jpg/CD - Microservices.jpg rename to misc/diagrams/jpg/CD - Microservices.jpg diff --git a/diagrams/jpg/CD - Monolithic.jpg b/misc/diagrams/jpg/CD - Monolithic.jpg similarity index 100% rename from diagrams/jpg/CD - Monolithic.jpg rename to misc/diagrams/jpg/CD - Monolithic.jpg diff --git a/diagrams/jpg/CD - Three Layers.jpg b/misc/diagrams/jpg/CD - Three Layers.jpg similarity index 100% rename from diagrams/jpg/CD - Three Layers.jpg rename to misc/diagrams/jpg/CD - Three Layers.jpg diff --git a/diagrams/jpg/DD - Microservices.jpg b/misc/diagrams/jpg/DD - Microservices.jpg similarity index 100% rename from diagrams/jpg/DD - Microservices.jpg rename to misc/diagrams/jpg/DD - Microservices.jpg diff --git a/diagrams/jpg/DD - Monolithic .jpg b/misc/diagrams/jpg/DD - Monolithic .jpg similarity index 100% rename from diagrams/jpg/DD - Monolithic .jpg rename to misc/diagrams/jpg/DD - Monolithic .jpg diff --git a/diagrams/jpg/DD - Three Layers.jpg b/misc/diagrams/jpg/DD - Three Layers.jpg similarity index 100% rename from diagrams/jpg/DD - Three Layers.jpg rename to misc/diagrams/jpg/DD - Three Layers.jpg diff --git a/diagrams/jpg/class_diagram.jpg b/misc/diagrams/jpg/class_diagram.jpg similarity index 100% rename from diagrams/jpg/class_diagram.jpg rename to misc/diagrams/jpg/class_diagram.jpg diff --git a/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg b/misc/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg similarity index 100% rename from diagrams/jpg/seq. diagram 1 creating and updating a business.jpg rename to misc/diagrams/jpg/seq. diagram 1 creating and updating a business.jpg diff --git a/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg b/misc/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg similarity index 100% rename from diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg rename to misc/diagrams/jpg/seq. diagram2 contacting and leaving a review.jpg diff --git a/diagrams/png/CD - Microservices.png b/misc/diagrams/png/CD - Microservices.png similarity index 100% rename from diagrams/png/CD - Microservices.png rename to misc/diagrams/png/CD - Microservices.png diff --git a/diagrams/png/CD - Monolithic.png b/misc/diagrams/png/CD - Monolithic.png similarity index 100% rename from diagrams/png/CD - Monolithic.png rename to misc/diagrams/png/CD - Monolithic.png diff --git a/diagrams/png/CD - Three Layers.png b/misc/diagrams/png/CD - Three Layers.png similarity index 100% rename from diagrams/png/CD - Three Layers.png rename to misc/diagrams/png/CD - Three Layers.png diff --git a/diagrams/png/DD - Microservices.png b/misc/diagrams/png/DD - Microservices.png similarity index 100% rename from diagrams/png/DD - Microservices.png rename to misc/diagrams/png/DD - Microservices.png diff --git a/diagrams/png/DD - Monolithic .png b/misc/diagrams/png/DD - Monolithic .png similarity index 100% rename from diagrams/png/DD - Monolithic .png rename to misc/diagrams/png/DD - Monolithic .png diff --git a/diagrams/png/DD - Three Layers.png b/misc/diagrams/png/DD - Three Layers.png similarity index 100% rename from diagrams/png/DD - Three Layers.png rename to misc/diagrams/png/DD - Three Layers.png diff --git a/diagrams/png/class_diagram.png b/misc/diagrams/png/class_diagram.png similarity index 100% rename from diagrams/png/class_diagram.png rename to misc/diagrams/png/class_diagram.png diff --git a/diagrams/png/seq. diagram 1 creating and updating a business.png b/misc/diagrams/png/seq. diagram 1 creating and updating a business.png similarity index 100% rename from diagrams/png/seq. diagram 1 creating and updating a business.png rename to misc/diagrams/png/seq. diagram 1 creating and updating a business.png diff --git a/diagrams/png/seq. diagram2 contacting and leaving a review.png b/misc/diagrams/png/seq. diagram2 contacting and leaving a review.png similarity index 100% rename from diagrams/png/seq. diagram2 contacting and leaving a review.png rename to misc/diagrams/png/seq. diagram2 contacting and leaving a review.png diff --git a/poject_milestone_2/.gitignore b/misc/poject_milestone_2/.gitignore similarity index 100% rename from poject_milestone_2/.gitignore rename to misc/poject_milestone_2/.gitignore diff --git a/poject_milestone_2/.idea/.gitignore b/misc/poject_milestone_2/.idea/.gitignore similarity index 100% rename from poject_milestone_2/.idea/.gitignore rename to misc/poject_milestone_2/.idea/.gitignore diff --git a/poject_milestone_2/.idea/codeStyles/Project.xml b/misc/poject_milestone_2/.idea/codeStyles/Project.xml similarity index 100% rename from poject_milestone_2/.idea/codeStyles/Project.xml rename to misc/poject_milestone_2/.idea/codeStyles/Project.xml diff --git a/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml b/misc/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml similarity index 100% rename from poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml rename to misc/poject_milestone_2/.idea/codeStyles/codeStyleConfig.xml diff --git a/poject_milestone_2/.idea/misc.xml b/misc/poject_milestone_2/.idea/misc.xml similarity index 100% rename from poject_milestone_2/.idea/misc.xml rename to misc/poject_milestone_2/.idea/misc.xml diff --git a/poject_milestone_2/.idea/modules.xml b/misc/poject_milestone_2/.idea/modules.xml similarity index 100% rename from poject_milestone_2/.idea/modules.xml rename to misc/poject_milestone_2/.idea/modules.xml diff --git a/poject_milestone_2/.idea/vcs.xml b/misc/poject_milestone_2/.idea/vcs.xml similarity index 100% rename from poject_milestone_2/.idea/vcs.xml rename to misc/poject_milestone_2/.idea/vcs.xml diff --git a/poject_milestone_2/poject_milestone_2.iml b/misc/poject_milestone_2/poject_milestone_2.iml similarity index 100% rename from poject_milestone_2/poject_milestone_2.iml rename to misc/poject_milestone_2/poject_milestone_2.iml diff --git a/poject_milestone_2/src/AnalyticsService.java b/misc/poject_milestone_2/src/AnalyticsService.java similarity index 100% rename from poject_milestone_2/src/AnalyticsService.java rename to misc/poject_milestone_2/src/AnalyticsService.java diff --git a/poject_milestone_2/src/BusinessProfile.java b/misc/poject_milestone_2/src/BusinessProfile.java similarity index 100% rename from poject_milestone_2/src/BusinessProfile.java rename to misc/poject_milestone_2/src/BusinessProfile.java diff --git a/poject_milestone_2/src/BusinessProfileBuilder.java b/misc/poject_milestone_2/src/BusinessProfileBuilder.java similarity index 100% rename from poject_milestone_2/src/BusinessProfileBuilder.java rename to misc/poject_milestone_2/src/BusinessProfileBuilder.java diff --git a/poject_milestone_2/src/CategorySearch.java b/misc/poject_milestone_2/src/CategorySearch.java similarity index 100% rename from poject_milestone_2/src/CategorySearch.java rename to misc/poject_milestone_2/src/CategorySearch.java diff --git a/poject_milestone_2/src/Coordinates.java b/misc/poject_milestone_2/src/Coordinates.java similarity index 100% rename from poject_milestone_2/src/Coordinates.java rename to misc/poject_milestone_2/src/Coordinates.java diff --git a/poject_milestone_2/src/Customer.java b/misc/poject_milestone_2/src/Customer.java similarity index 100% rename from poject_milestone_2/src/Customer.java rename to misc/poject_milestone_2/src/Customer.java diff --git a/poject_milestone_2/src/EventBus.java b/misc/poject_milestone_2/src/EventBus.java similarity index 100% rename from poject_milestone_2/src/EventBus.java rename to misc/poject_milestone_2/src/EventBus.java diff --git a/poject_milestone_2/src/EventListener.java b/misc/poject_milestone_2/src/EventListener.java similarity index 100% rename from poject_milestone_2/src/EventListener.java rename to misc/poject_milestone_2/src/EventListener.java diff --git a/poject_milestone_2/src/EventType.java b/misc/poject_milestone_2/src/EventType.java similarity index 100% rename from poject_milestone_2/src/EventType.java rename to misc/poject_milestone_2/src/EventType.java diff --git a/poject_milestone_2/src/ExternalGoogleMapsAPI.java b/misc/poject_milestone_2/src/ExternalGoogleMapsAPI.java similarity index 100% rename from poject_milestone_2/src/ExternalGoogleMapsAPI.java rename to misc/poject_milestone_2/src/ExternalGoogleMapsAPI.java diff --git a/poject_milestone_2/src/GoogleMapsAdapter.java b/misc/poject_milestone_2/src/GoogleMapsAdapter.java similarity index 100% rename from poject_milestone_2/src/GoogleMapsAdapter.java rename to misc/poject_milestone_2/src/GoogleMapsAdapter.java diff --git a/poject_milestone_2/src/LocationSearch.java b/misc/poject_milestone_2/src/LocationSearch.java similarity index 100% rename from poject_milestone_2/src/LocationSearch.java rename to misc/poject_milestone_2/src/LocationSearch.java diff --git a/poject_milestone_2/src/Main.java b/misc/poject_milestone_2/src/Main.java similarity index 100% rename from poject_milestone_2/src/Main.java rename to misc/poject_milestone_2/src/Main.java diff --git a/poject_milestone_2/src/MapService.java b/misc/poject_milestone_2/src/MapService.java similarity index 100% rename from poject_milestone_2/src/MapService.java rename to misc/poject_milestone_2/src/MapService.java diff --git a/poject_milestone_2/src/NameSearch.java b/misc/poject_milestone_2/src/NameSearch.java similarity index 100% rename from poject_milestone_2/src/NameSearch.java rename to misc/poject_milestone_2/src/NameSearch.java diff --git a/poject_milestone_2/src/NotificationService.java b/misc/poject_milestone_2/src/NotificationService.java similarity index 100% rename from poject_milestone_2/src/NotificationService.java rename to misc/poject_milestone_2/src/NotificationService.java diff --git a/poject_milestone_2/src/ReputationService.java b/misc/poject_milestone_2/src/ReputationService.java similarity index 100% rename from poject_milestone_2/src/ReputationService.java rename to misc/poject_milestone_2/src/ReputationService.java diff --git a/poject_milestone_2/src/Review.java b/misc/poject_milestone_2/src/Review.java similarity index 100% rename from poject_milestone_2/src/Review.java rename to misc/poject_milestone_2/src/Review.java diff --git a/poject_milestone_2/src/ReviewService.java b/misc/poject_milestone_2/src/ReviewService.java similarity index 100% rename from poject_milestone_2/src/ReviewService.java rename to misc/poject_milestone_2/src/ReviewService.java diff --git a/poject_milestone_2/src/SearchService.java b/misc/poject_milestone_2/src/SearchService.java similarity index 100% rename from poject_milestone_2/src/SearchService.java rename to misc/poject_milestone_2/src/SearchService.java diff --git a/poject_milestone_2/src/SearchStrategy.java b/misc/poject_milestone_2/src/SearchStrategy.java similarity index 100% rename from poject_milestone_2/src/SearchStrategy.java rename to misc/poject_milestone_2/src/SearchStrategy.java diff --git a/project_milestone_4and5/locafy-test.json b/misc/postman_test/locafy-test.json similarity index 100% rename from project_milestone_4and5/locafy-test.json rename to misc/postman_test/locafy-test.json diff --git a/project_milestone_4and5/zips/api-gateway.zip b/project_milestone_4and5/zips/api-gateway.zip deleted file mode 100644 index 4e84a469ecfe51c7f57cd4adacc37923c3d4f5aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15495 zcmc(G1yEf})-@XZ;_mJmAUMGxkl-HN-QC@S26uv6Ah^2|xWU~mxJ!`mlQ)x@B$JnU zGjHDiLEYNbRi|pL-rakh?mnw!B*7ujK%k+aL2m7Q)Iq-ag9l*)(Xlq6H`1{;aME#M zR8&9!fm+C;H~IR51tI$FaZnH}5Uzn>exU9==r#TK5gbHD5(@guV_?5M3-ZwZJwT)% z0PSq`{ut<2@UQVd0Y(1_sD+M+cZ*|7Y^HE!V93GPIMcxEIS?cas>h_Km` zVa#f1{DdE;18gx$^Q#Ay>wR@Wu$Do;2+n2zpF!D!;0S~MN^l5&FT1t|c2*9ydIolX z{lsJZ_Z)P-8AKNy3-kYK5NR2x2Hs27uFA=X(^2*HOTD1$e-8w=K}S15v6C-^|fIB#{2$_xpW)-&6QM z70;hj`Tr`OvOg)Ue^2YD;;Ha3sqOxI1yvm81w1Gyf(&U?r`w3mE|}&NeKb*ISWpq{|i_otL*tN5}2{k`EVZR0{FxMy*d*iVU;eOvXTQVdeArQgzmHFX^49;u+pTcswrq*G#F!(uBB2b zO-`*6L%0KN@Q^6FAt!8?_L@D3laausfw@VjY-(5ku4nCqVI}9C%eg}crkQ9RQ+x>C z>NW&pDo)uQjh!KHu~D`NKqo?gJrDZXst?S74SQNnHC^U4^5}3AbuKu*F4`CoT{?wH zp+Po77`z6Bs0rQhvr3#vIexNQx!KqQWWZ3>25r1L8h9cHd^=t>Kv>C<4&NE>WRY!J!8gwaf<#5yRjWoTB3P+R>f&5+kylwVHDEO!)t8`7m#Zm$ zpj_B`k48yeS#CH79)mBYJiw{y*{DL-`f};4KM!n|#eRj&n7VB}nRaSyPuB+91K@28 z)3CuQOj}4gb%wsUt#@piO}o>AzUmLUR$PJF)v~iUQIVMW$>9V7d${{&yciCU*10O^-O=G{=uW= zf|)1PgwP>0NRS76eAfBXT*rr%yJ?7lm(ypi3Qt-ZTTuKgglrIM9a19mk^m;RPD)^V zMXR`A;ek+rqMqixk4iM3nN@uRS~fsFUR@Ri+$2D%b40>Tq9WcjHS7Au$s8`_b%J7% zpReljYwUZL$m&J{J9o8u11~R^W$lWqy659cam#C-0rS5NNZnNw4>J{;oyn{O*kNN8+A(`-tsitveI<^r*FCk6b(if;VEW>@l zs=i4gyI$_rzNrcKbb_E<7yD0_eWydW9Lb-Yv_zAX!SFTinAp~dq*bDukN@`i%T|{3 z+j6j1GP7Tm<;U2p=H@gjUUBbsg~nF#*jul?tABHm*v1fBiej&4 z8q>O|vLBC7l~oj%*yN1Kk!KOu(z;{GiyUJ2;$U+f%UDrysa zGcA}w!v-jN?TQfn4X^b19Cb0^Sr3j zN$Dyq$dGE1i*5Xm<#kYLgoThG%UIW0Bc8<3%9Hdio>CHIwzFiG=Ez;k=;ozhQ}1|E zqO0|10NO`So_DssqW4yp1Ds%rFjcJf06rXBVfPA@&1sZP;Y+g29d{O6(r8@LD{!R) zo-@%g5A!GsBUhb?t@_LCZ_ulPUcD=owBA-Tt4U#vtm48_36iODszzL=VsjtisIQRQ zB(g&W*{PUj5%qeOT`16cmY==NmlkPg^w0rPP*be~+r z@gu}BpN5&V=d8=D3x&oS*#}TIyw+?p+E+VQuU}l&es28So$`8(IBEU5W&q?!ChW80 znUmTz?M0L||7FEF%I$mPz_(UID+})ztMx`&OU&Rj(>!t zYg)j|S%f#2`kuOhEUh}0WT-O(#0Ar}%1!w8G0wvXNEP{_b0A4HlAKMSRk#W0unqQ* zo1I6Hq75oz=@?P*@CYTKqLz;R;vCx}oZBM?{e5cvW-&&WFHDE1u|D)hT<&tlL}8Nm zc{LH*K5AJx#(rG<3`rvta*AiLQDi6RF)@0Nr*C4aUqPkzbLW&~=XSmoHjXsf#F(Q6 zuK=)(=0To#pCsT2WABi7558_W|234GvwtFD^r0|Dnrt#kG=D%^*Is9IURIoKoy8!@ zw9&FTB-OmQdmvLSjaE)Fm`~25*QTHNl;N4GpyCoHTqQ)b`!%oityh4k2}f_!K3vv8 zt-Rdo%M7fpvjui{97k1~^TP+=H`dcjT%>gWzNfRE5zTM)kwjU?Q>s<6vyUN~DjeZ^q>m*mqv9W#`Sw%r zzM!9!;;GkWsC%yZZjG>MXSmy8O7i6s$k9j;NBYNgFU8I}ahlyT?t{YjMqjuz86(z> zofypIo{)Jc*hbECIz#2|zRIuY;hdJfseGaWGt*XIO+1L{k)uy!f_YoN^}ed=4Y?Q{ zCH&MU=qDQ$9C2{X1pN3{b|cG-n6Oet)VJQDhv{c3B^xV|Dr$`NbK@qDfVp*cT9&4a z^e~YdVmo?UTW)Kb0jnq0wG*cFCXwlUS-n+ruH1E4?>)Kk2>=!I{FK@Cg9@)4QwT;X z{W8+;&ThQ`p010Qk~qnP&#@%!_+VuMy*jJ)ociTLc0}}RV#z#3Pqiy zL537?>?ohF;6h5yf#to@fov0uE2di_%#gm$&+iQRw7xCPTkl&5213HH8!=cD&HF}1 z1MCbh40;~}09k`h;zKk?gDQ68e;e9blz-L*He^3O!rFU9tT2Tf8s|liE4zfapkAj; zCumCDltTSty+ejbh6h+PTN__d5_-k&)8^ z%<}2{uDrag00g4!5mupVD$D4l1>uiWAMgk9CuiF6UVx)-&Q3rIKWc={mXLdDZf7KL zo?5$`P%9se4;uvAEc`xi;DAruJUhAu4Lz@tEI62mbV#Bku85wM`GWuYdVh?dyy1R$ zSW}r=WyN=PeqM-kw=W(k+Or+qH-Y zyZ+@NV|Kjv!xViOY|_IS{BEw=inlv;GBf6gNiqL;t~3OcRqn5=4t(u z6~xj?9wjeJ?$mrrqeB;WMrxZ(n&-&Ktk$lMRHnCqHgX)@pe6Uq*%hFJg7fklL&jw7 z}=B*lIepySav@zU;*fwQZ`rtoS4T+ z0XSa`UfClbLSElUcX|MS%x6d`1L$bzVz5tq;QHyjj1eA9iUe>;WJ*PTG44|wKJUymFwNq`3$`H!l z4KxyYRk4lqvC_ic)!FLDb@$tg94~tt)?{m~>T4{xr-^psWrUvM)#?FsJJX`sH248g z6GPSld8$EKd1N20!2<-WhF_SlrX#POCkEbQ4dGm$sn~6~cX)ER)mOneb}T(?p@y9#2G!y_?yA z3!gOKR>51t|8tQTZnPpI-VI18O|iPjCJ6huasP&Ha)U5sO~>#ACHv;(j4X=SbeEp@ zZDI=cE+|`+$&y(|55>UNDOHLQB^>wJLO5Jp+Wnz9YpO=-Jy$AzGDU;M`s>lxptg|d zef6Pc0`b4%~4XrBC z^gc$I8ux;LbR~HkUS%W9uu|hiW|K5b7$#Da$haf>C~cNu^_c*KBD;*q=@^C@^o=iV zX_~d4E%~TEouIhiiv<~!724BlvtTv-X{7W=YxS=Y6Iw)F zR7JWs5tYPEq%=r#U-%}(-$k3)WH4-rU!`wKVI)dOZG;c%ghQL4bP+SAjgoA&S>D_G za$Q}=_64!k<-bd@GW;-@uxaf+e#IcppwTN@F90FiLI~?l*W^Nmz2{7FaE2Ps?D%vL z5qD{Utz|7M0Jw!wKnu=25v>BUwM%vM@;+z6P%uV~J@&NgS`tE?wK-hon2U(6X%_>V z9LNf7l&u!bIte-wa@Rfzd!u8#@P@rsiwX5ojv+TTxQx)E;R3&f+|F5k2BqabO*u-%-%Ze#p z#m}GLMYc*#B7>AVLQ#4lO2L>-_;wlC=DX8(teSOE!oKsu{$z;~ChuZ1)*oXp3wZ@x zlx=a@-ce65-nZ5+P{+KgOxIOp&={Rb#96U*{Lr~gC)$_e(+WGzTDH1VU(H45osJty;QB__#rR5R$j5xqF0q zslRHa_>-gk(M}L$?qF8~? z4jZgMPnA8NiYmF+{PyuP%2JacCF{GI34)s%;%maXk6ojC)+IGTtsXOuj-o!6AQY8@ zr{+i+t=LoMUjb5VtB>bY6mUUSY<1$Xp!2N<7Z51mD7xUxepJ{f+M6ZB!d4H2F=12J zuZfnz+7<>u_qF7sr{P(lt7%7`YzfV1_xl8jXyV{H^ct)t#-KN3!xX%pz$HPMqXo<5@bZ;DT1wYC=;Fa}EtP>OXJf;;coXhDCKIXkD)n(t7R& zY~@8_zOR*vCth-&aDM5;*vJJ$U}dyQ=6_iblp(vf6|3IFwLw2C8fY70c%wIDhJS6V z(b8KTb$t(OfKFkdNyqqVq{gBkQ`uC(N!?O7&urpJ;`S?;a7X$h({8ZDIrh%XT7!!sRg58K_qzwp;2xaOtZs=IAypD=oqF zASrg#+N|ja3~uH2yhA!GJ)tOZ)AhRHjq_NJ0%yqaeXr;-7($E)>i8JUr$_LRwcZ)8 zT+^Zv9*{a!V<7Fh6LgzB5l(u{6}2FZ7K*-`ZOn7ZH@)*9^JU?qzL$NW5uS#;L60nD z^aDMuSiPdoaBHCWk;=nA$$}k01qFe{iEglGZLutkoL$F4aTaVxCO>Dwgr`pAL4p`O zW7ifOrKPy4#313Zsi>&{tKLMol@*O^l`-ils$Ec*#}dTqWoVJ{x6{kByJ}s0P%E>!QuF zeMtMl(w)~YW!Qced*~4_ZjXE&USxycj5be4KA*iPKh3Ncg6INZqn22|vBS&ezO4*L9QA0c(-PsdY}_7ez^8}S4H6(I}W;%bbW zwK8^WofAGSTM-OFIBMQCZ>!o!f1)|;je_F^ zcUDzKb(MgRr7O((@N zZh^^z*)Lf#o+V1baET|#mbb5$*>)G_8y%fdZ@yH1>IPt>DO-v#(&IP`zd;Wz2^c1^ zNIXTy2uEXRaZxN(aFaz7#t#DXL^&pp)UVR;)(InGr8z*sQ9M}6Fal5T0`t?IGVU<4 z*Ew&7U7&;N@Y!9<8%TJzfoq+(WzH)sK{5DJOp}({m02alt+h0AGCrT}{B;0Q58}#6 zo!k)fQyr0IY_ZhZ*3eSWR#4kEIzsI}@u?Kg+$(lJ!l{nDFvdnBR zb7!=x+PGLWm6D0}B$f%Sl_>+;7KS&hoWj^~q(||jPK};x8ChU+{@km=(yNA#r+8BR z(ax@(NAU9+RrmX}b1O_8ilm*7lpmu|;wx1Pp4e3_iQOK;eP+0dvEY@>Ta0mG23C&7 zKhMBTIy_pwk_Em?;K+SzmO-DcuoQ8Gulo#Zp&1v^txi2)oom{<#9L5%%ofm^jS2+t zk#%t_Xr}F;;6*VBj%}{ z_bLZKnpaC-2%s>{jz`i2pmohYatDnl+fc6-<{EL$9bXa^NP2@4*$#Yqg-#9MLF&UT z&7q6?nPUKjBOwM*=)xEy`Bn@=ENXI>^LBtuDq-NV^Re7j8Y}pU_ifs6oGmIkL`Y1R zB;;sJGfR0$w1i7G^V&P6LQ|jX6oXOo9j3MhQvk$L>;c#((;7rhZO;|J3tu-WhqY2B zF?ArRPx7+iY?72r^g&ztj6Org;%j!6=4UXR2qoBIN-yX6?lYN0(UML#U2s$%%}}+E znW3c{9TdkI>~xi%Q*~1-^nurMb)*DQ%9FB_7-y#;CksYUlOnPZ4MO zeds|a;9xizvWSQ6RnX(?PmqnpTHyX1?e_)RJI;kdwWnfCXsahGlCN=0pZf+E(Ixwe zZM){QjzmQk`!d5Df5U4uy@rZ*c92 zTWD|V1>mDU2cE{gG=BL=-D+hD8DknGmn1t5J0T>cxNd}Wb)kZe6j+?{CevlP3Bn*U zDtNicxL~v-s6VS=&92w3uu_R=%thR&85wgDAwz2bzn+gAJG3oF4}a=)yLdvVAISSu zcb^P~8XC%g6~+ZYg4%d!^EenG=y??I6tT;Rpb?+TP3)LnEke!tn~k8wXNkpulAG%k z6+;!gFo(U!7}vWU`{3}#o57+KCVZVee0{Ron%5tPBDIv!$d+gd=}m#^2PKo7sTLe% zZO0}>?+bOSr`2T7!?3hzZA4(TZJ&4mBJ0VFygu0gJOYdQxVOPMBxMTT&C1o#&Xh+l zp}eneiW4JkWM04}z20~NN_?!56LMZohV5Hs)jh$74HJ~?Z`R_mBR*RP)88z6@s z7xV0pxa)rC#d?WJ`e#>3Cr$@`6a~tGx6xrId~pzRDV(~4Jm&W0Oib4mX%)MxQ{*s6Q)Y#PU?R&yvQVDm96?pROwxzV z4KA~Wj$mOAmwhTo7U>3h-!<-9w8mt;Z||1IgtK@<-ZZKkC0)ZC`%X47ktI3K@m&Rb z8if=q=cuMl&3M|X#9%tt8!()X8d(Ti?&!OyA*4$fM=(g zRA=^#s^v)>e1r>Zz(xe9?0t=7*TK>j*P`8w$UrZ90M|D)yUV|;~CsKJs zlYLd)kt}~k_0M|>Au2=(y7wi3Pn53+yxfmCwAXj@=kI?rB!~+1%{sw>fanwbYPJ8P zAwgV3N`~RzEcSmiM|^FkDLl8DV}ftKQAX;^nnRl7-BUmVud%0hrBW+_bi@i&h%-?y zro)a&Wxe;5t~ebr?+jc(dF>t<=|29drM%!{;Ijlq6Xm@+ zlH1(?IDIo$oY=Rz&y3MqxNiImI0h@6(2z^y!&wALHTc2;`-3C4g=gO`V~(6B!;KU- zA^S|}+6j8g7?M|k1r=)Qj4sdI%Qeg=;1FhJ_ElhO*g(I_zwu_M@5rBlzcyvHA{z^c z6Y8Z1&MfI?D9v`Y&N2|QOnFR+1PvrBJuVWYYQhN?6QjD2*sh&xP?8ha6#FQ=7_Raz zYbR>+CWYO9F(b|Z)9)j%A;u(|!DH{XgaL(HxvH!&E7DDmLy{3nvrd1fd?@(Sr@e}F z^Wc6!Oujhuf%vtuTNsdyo7E}~{G?O9cCv^7y;q3Yd2`)tg#g@Z={lBAMAArZ2pLel zKwk!mEpy{6^hYO80EPQ98-YTl6O#3F{Z^eJ<~3(~O3zMg%|?e}9u96OL^EdVahgx8 z&R)O!EX*HpD*m3~P{}qXttp;;Ei%G*{xNka6yZxece5!pb9;7|u+D;afU5oM-JG>H z*T*<}p0Pm-PiQ7OWVZz`vNei7jIthKCEZpAFC3sBcE5OQ=FU09-~_eINp!NnG$=8- zF685~e1&WyVd%(gJs#ab=}bLc-19z!P3+!H5cB{QD$hDxfqO33ZbvM$aV|wAtwpLf zLR#daS~0n>l8={_nMWts*s}?~nuS9FUEJ8JRzTWM6%IAT@m7uZF>ktA0c$!xPaY_5 zx^k1Qg_|QmMnnTm1yq=0ln-Eyo0Z>^iGdoLhr3IIkp0F*dtp zn=soRoC_0>U#bQa3=RDIn+9L61i=4hGky334}t`;FYqNk_yoVXcL4dfdk25yzQM0x zkiLVl`2pr{w+(&)^|dm;#$Q39e+RYs6R5x6G58c&9VO@ zP=fD3mwpNQH%sjQ2$AOuQUDw`AdQf zAH?XV)8(JY|7y7Z6HLC%!S}L2`siPo{N_(qRQMm^eJ=}XzlZl%$^zblYwgE$|JKRh zK>tEn$oRLwf3YmkJY0MGbrTZIa>@NWSUH88I0QAq5B?!pA4*>alz`t2Ve**QjFF(c~ z`}Xbb6Yaac2^0S-)Ze}@{Ry~lm+jvV9LvLXuy0fOj}7im(0I-Q696yA#|!xP?G)C%C)2LvZ&1Ke_Ma-sJys{l52x znmRRAL#=gscdy=OPcLaPU=S1l2nYxOI(u(5fNx%i0L%co4t6G%26lGTb_TYNCVB?6 z3i7Z3;GFr?CSTuB00ck%4tWpmz-@)^ufPD(V&D*8z6SKucLAP0{~9Xl zk5KJw_5K+0R|a3Ne+C)r*N`oAOf3KN@c6$8Z>r;{^PlHH^!pt2tStWXJShJd4+AG1 z3v2T~n3P{r;_LO#qz31o=|E_bnf0a3}wY9m4o{qhV zl_kxW%=<%C|CRUGtA9kRX*(SP|L{`j$f$P~{&DUJ?X|L~N^!Zeu1V+nSP-AbCd;)~ ze6lWThKBfzn2UhEFT%4gjNUk3I=&O_E%qo(AYxkvlpdh!ECVT4A@>)dyG8DA4Ik)) zQ?ki86NiJg*?n+tRh_X(CYL|KeybG*4$;`cL@;gB6qX`0d9Jp+s(3|XL<2AwKUpq1 zgp<@P!7q9s?a_;$0Y>u4GK^(#9EOs)%Jb}?>f?Oa2yX=d)iLlFp{iOz{ap1VRC0j7 zB~-+}8FE_#J1YlUJp;S{b+P@%NsT19iDA&+GEil8= z``0@W%^$oEdxIwt(y{+{;taG>t)??vV#F1i{kXdaIcG{2rF=DBl0kQM&W_P++LKgm{-#`^{V2XP7LNagtt;NILcg|s zQh5X0|GYG@{4NCx9Y+I8>VFfWv9`5(;$?4QVE32WjzTXzoG%@W|7u!82O=zVoNZ`4 zmzM(7XooEfDi>F!j*jc&6*p3%4128ja~E*9WYe5?eD_)4Tr7eaYmG^q5Fa#$@&`O* zH{EI!Bas{1LlA)ib@+r&%ROsnm#I`YVC33(p&i`mjm0zGOjb+oiSDQw9|L zW)}QVqG^mwo_fE%t%alYPJeL&(4@F*HBN`%q4^jheUe;DO)wH`07MKj)MFy^q5wWroVH9TFphWedl&{bCz~+?IyFq3o6RkI(*x1JOb~P|4h%# zW$Mx9j^y(QkCe*?`87CMWP;?qiiZIVXHj8Z$`!;orZisSiCA?ljp&-ukAgNmUm3)Uw3pj~u0~_{kjz((;Rj={eA;X(PH|>t{0ZV6bcZ zIr8kJb@=xXJnkfdP|?PVIoQjm`2gGc_cJTvO7)*x*}8U^s5| z2}Tll`x0vKjdVW&%mI{egP$X4A^9`q5x%VvlEqC<8s_!44h6glRQ}9))H21}bd5I; zC%0RBlNJd!12U=9HVbt1j3b4*V~3Wfg@T|j@KDA5p!S!f;^}vQY%~jPbz9ihYQYXV z3SqYiaN!LL3DA*L*woEjHbP!ZnXJAnT*2AHIg6SU$(Y6oki3^_557jImP4>q9y|w#d^AeaKiQdW@Q0+FRb3uo-z%_ShXgVO}%R+JrD48d=1dpHMEcb(-vKEAe zJtAH#&@E5CN-`PHQJ3F|iMHm$*I$*UhJ`bXt`LC8^>Gc6tS)KQN=A(b&j3g{y%)cf z`Hi&)*7}$XJbij!!?84T` zeL7nXhKT?>x0@}Ql2=sN&<|5jEwLG(upy5=>D|J$G04%dV;cRLr^cj%h6BC^N&Z;m zwb{oYkT;Sh*aX`kZi=_qR8r>+QT*ee)Rbvav)zQyqQonRgfxC=jmqclbY~I#RtfKdGK<@ zXC`FZk>tf`bJVj^NbZJR6WdyWviT+4xct%e8il!>(MzwjqjzhG(8dr`oOHiy2Hm=`q8A5Wg-H;b(Bz!Xk#lLdxndgIW?4*9Q{KKoQ7oWjxt#H+xq7voy!JLWA!)r8pES&c73yJoYH`HEgvTZ(9kT zU2r2OR+!zqrSlr4)3{;`^C#`amJ}LS)bi}^h2CV{D_t3LTi4~2bN z#H@Ez&8kzFA}ZN2lmn$JUsu6zkTbiDveuQ$ZV}ia0_>L0FbH~zW*73doablnaHmBW zT1gHW+An2@->%OZv*yM?!b)}tWzT-nf1_1e$nyXjjY%ULPdf#g$P3tDD398!?=CcpVG1kTVZ5+zx@2MVCwtM@}S zaAj8bWpf%4C1$Im&Jg{4e&p3{tdO6^LJmj-96y1aaBG-JdCWP_Ig@Iv6ORBg@1Oxn1u?gKcM4t;Puf312;c^PTVb5(wU^mza=;Jwx0>f*ps zmELH}J2Pm_I6nrApz!6eVOrAm@tBHUwGlXh6*;7OZ4GSZ+}15QeFiDH)l!pGiNF|} zN2i&%7RkHuotxeb2x7#zOeRNd0mSm&#&mPZoki=@{@z%Uuy+1)VJ8OJx6NYs;&l&` z(8;0w8%5v%{fZv7^_Nqso>^JASM^X=a0{d{RD{#{tFH9g2QVetX;sd_vX* zU2ipGj;>b|=QJf+37ZqzwNj%sEVRyb8xtz?KA|7P@XS150FG5#@6_t%z;ORX|RvjoyX*&2EW28I$YL6{C5}l;Svk~7Gta1DJ9vdm3x($HH|Vc`gqaPA850wpEKS&X?T>jdr-IwSGSDk7Tndz zFA+ZKh#xIYCK)M;$3LxOzdb51GtRcwqW{^9(TX`J`GT-p09_4*R!%aIcMe#L=?%9M z3|%F7T*9P_h=6vl=B>W<>M(M`@%yxqt6K0?_3fUw0adlO!<}s>kyYkAF#fm=HFrHS z6nPf?dO>t2>|jl|t8dGNB=K`*R;BrPP>Aoe_mO2$r?@AA?pjxh6dwn=+UsaheAmE4 zO50wNuMwYr3f5F+4cjMT6tRqq2Q%~OCFPQ&o)YJ*)26AFQ2DTq-?%%}=`by({sMF? z0>F`)u~uE^ydA5_E#omTY=2DBxzQNDcKp;}Husd+UEVfgfz1g#ckfMpc^BJ^)Lq33 zWysl&bybA@=$V3fE3-(1sK{WZZy;W5mb1n|H{tQ%UfYeX(4s?$8$JK* z6>^k*uKaFuH9}dHwr+mH1Z+6B)=taPl$IJYVpC{WZ+qKyUDJQ<)VgNUl-eXBojbF; za^8ib7GuDJ0~Zgje1V57yRKjUjbjSlXoYV^`u+K5PdE>kB}*}^WPAw>F*|N3=>X66 zD!tdevU|7B&zvIcE~-O16_ivef@BK?UrPZD%46A)NvvXnip>M%z0m>v$QM^kwTz!3 zb(^2x9(=R0BgIwcQvn3%9$N*);V$LXz=eF&jJ7&prs%AR+_cP0y~%5n78N&E4OMVY zXKo2al`9MxaGgnwV#{jEc}BU%U69O(h#6jbxpW>EE-ofGSc2?PrdPM*mQl-#{GZ52 zaQktmW?OM2fl;^SCPDeZ8lbX8WM7)w8S!4E*6bzJ$VK5o1wu9P59IY7atoVhM^&Ss z=2Z{}1rZPpioA;}qGqDMNB^n@QQ7(CmtcnqZQRBf#Y~E z^xcI}4R=bWE027NBW9Lb*}~3-K3%G$6e;?B@5-Pt3(mk0X%8B+)KCVGtBdy1mA$WM z-sBYN@*X}um*-S}ibB&{*Qw}mNe#-a%R}j!guJR`9?v}SX^wI}s-wlvM`xki!__N; zB;vTqsPCJD4E!${+FkdYdc&41uv2K-QC`o>&8jHWd!PETmA}E=i%$j$qZ~(~Otll3 zn@UN#RXlKKn}VnXk2iYZ9x|}EkiZ)KvToW6WO+4@jEf<6dLgC3p@SnM^`mr}$LQ#s z)}D^|TQ37`#5k&cOAht9)nNyDr%wjS`!DP2*O`_sTb7p;J& z80HqGDNu9B3qG)A+i=!X0tdVT^<*w$=3g@xSoPpd)7d6z>#XKTOT&Op$1h$=-W+?3a1@47xv#G{JJ}-)yQL|Jr z2)I`qPUeAuJ)0U@G+b#RaC-DRm3Gx}azk)?SHK9wHHD8vjEal<*XL`WHrzg6=6KrM zFeO`SRo!Ahzf827D8=^>u2S=-+MN;1roi=&oE)^~%~J`?%p?9}4eZZrH6&@ml#aM| zkr?oZF^F}0u51s8?GD0_umPz~srQb1jWWr5Zil93DVwI7#E(l9+$$A8NE1cvy&9GZ z3&SwRbuh?j3zoI8LLiefc^ zEdZ7Yb9XtGM25YSs5gunGQX#&xt9Rdw|T5Cd+1RU8H^6XXGhHWY8Sv zi($}lX^%(dOsN{FkL;%X0SH``EO;8^nh^!+qdR<|7M^bPSw6@-dN<3Ke3bL>kzqSfRb80F1S!wL<_w~bPe zq38&W0uzobW0aYORp-1Q3M|qlXX9w95O+S5C8gR$SW1O={i8_S)7eKr5y3< z8eMC2e3$fM4|cO`wB#atI15F{E)b(p5tgcjN^O!A6U3lfXYCn@{qLBI%5HpC`imm9 z>nN_tiuq`id66Pg8`RRlV>;1z{U#5IU=C4Ca&@1sm?GHAAi zuhX~0(Go?(H^cgM!XQkLItXdg#-43|w0yMpVZXkO?FnSA&Hs>MWjNBGux0HwaZMvk zqtPu`#|t9Uj1T2T)#yx&x$pGs@Ekdw-tlEWJofS;bMtzp|L`_i0VOcUWRx<%_8$4M z`eV+dAz!pAOYB+4tr&7hnznz?9Gz>=3!GQZX#+}{byU`oL?6nKURa8F z+b$ZqM#YbvaJW$}I*0Md1kxs|)qOUKkr7h3j$gRAk7yB_LIfyr1Sj)^7l$;P^yx6L z&3B`2TQln*gZki!d1HwbD(7r7-WzQ%1A0BYB-8A?v#XY1d|<6zpoV^3k*=#iqcJv{ zh_!0#IMTjDCD@bW-2yeiRJyiXk46IE!VJbTY7EHB&bDW74H2SQG48=IeK#OYrr3cA|#4_h~zgt3?cRL_Yx9mA>JmN!m|6$eO z-FYjSJFQ@`T?XX660Tekub_6Af9w!KB!j$Jn+-;Qhw{F6d8KR&kA3{ClK2$ByNx}~ z1imc|;dOppMwh6r4KYnXD@NL}F=R#&d_h^5=d4L%<@-uJtHY!_Y7;r-1?-^Z+wC|E zsN5St1$gpU3eH$_pX4`-_UG_1Fx3JeO_D#QUZHeeWNhGi>Xl_Fiw@!O*;X_M1ahJSg!Am%67C~`%`dT(No}s-GI&e+3 zIwbWd=g3f_?qM?*YdsPvkQV(qqqmJ1+u#phi5NaM^9rN&Pi#1N$&66RlM; zk9t91hRptUtXd=cCiR?PfNikho!+1s?yapxb9Ytb?IV-{DyfAg744hRYKwxmN~ZF! z)hzk*%qCwX?!1u>Ka551nO!uDAG-f|0;SW}>;op>X}5Wv{>nXEGol(|sh|<2Z1kbI z2s%ww)lIGPuxF=rx89?u9(23_rehPDB1P|1HeC;Wi-EUO$LUp==_X7IJK7`sm!kta zHDlIxcmM!6n%_E~!Tizr%$K7B8a)gBzjl0}viEvU5bbeD%O;!8iwY@t{s8>NPymMT z40D99wVTVr1a1d_sb7w;FMUd$=iL$qBT&<^q3hfQ8_SgOq2A&B;`H$;Hftao@(@-V z0g~m4lBSgFE4s%H{LYg;hg$qI&>(=0YYbDLp#^!zp!oULFdB3XhC9p-r=CjvYy&1^^k%1bI#S$J97vspa&&|Q4&w-3aGPYU!ZqvXrXRl&Af6PcCQT{S$B$8E)zC? zm1e9G_~NcJOUAUlj}_LcQ;7HjM3@%^VQ%ej;{rTI$Q&&t~Xs-ptU ztM1V;Vl+SMzqQN(12@LuQ>mz{b{&^7nlbCo7wN9H>Kdo9?VJh8(c(kvPQ*dmOl2Hc zy2`Waa)d7wsNCHC=pJmtxx)E!vQhg27z8Bu8b=pK1x9*jS(~!0fAg)5uhqYVjDRkvgO{?Hw z1V^q(U>svD>$bgjz;#f17K}LkhZR5z-eYS_n6=QhZC~KOEM4UbhCOcDGyhn*nf^j^ z#m%p)#3gxrJn-zSKZvmvJFG@MF+th3tk#RIGspi~{P5nOA@YC>-5LirGWnzK=P|!S z49yo50AuG>a4J{=F@U2h^yn&~Q>IqQBMp2L1@~5!Mzs}ipC)cMS5=VYlS$&=#kst_ zOnl97GzK6|%YYcIDYmx32Lwa8kEnkt57~HHEbSVQ+@Gz^kRh5V4#_T@AXC=5QEJ;+ zoNsh|{(MVa>7^?iEk)^axRD;~QP>@7$UFa`XBLTPsAyp*G|kQmh4QX4DEzpAKpsdZ zBoX?R8eTe~1WXi%NLUJo%Na(%37$Z{y3@vOM)o=vO;C$e;BDS}>v??%qMO*(iQDE} z{34|N>Oz{7&t2%1Q(Rk0BBtW=nJ;4e5xU@4Pitid>0jyytY8YI*0h9_0JZ?yexxG4 zHP#syM0_af2QgD+^B$v;IyEI%ThLb6%44F$2tUOG>we~GIud;)-}h*w(VIhmN%={| zZrcSK{EnIqcVM4>3uGVqkd5i>9C>122g3@zz4X1&o=U?~(R9jNlozpdC@pjun6{8y zp=G4Tj-y=)r?slo>??@8TMHMS<(8h++?>TzYGAv2dhS6I)hcd}X%|-LI;2UvpU6H% zBE?sz6uhvjTo(F#1pPpB9c{rSleZM@Og~&P7B7*3opf}(axF9bA%Qjby;%lzy8LqZ zF|MvC#$ppTylbtR{|5Vv^*b*o zBBfF%sfKQng!1?I8gH{sY_lYy19u63V)Q2IWRZC z@X}4SDt`7+m)wbELEfY+tccd(m)EGzVcLkiIiy&1u^(9bkXRF<;R>B;qs86}p$SD! z?Xi9CV-`>7yJ}~Yy-s5SUiJE%HWX)zj0zGQ-5~}#7Tv^9791twoK3&}fv(Wh`!>a3 z%zT&bW4$RH$a3r<(2Z#|Je#)1Dx9Q`tGL5@37wGIFp+oiis4+6xOCLv$Mji!nvA6w z7KSEKNH*Aan4ya53*3)y=>$=d&bFMfRKRA*TgS~%(hZN9i$25hrW(1ik|be1&ubc` z%9Ronze5Rl1A|O)l`~q>6d^;{zcqwb@wim~<}wpPv7pt(YW9fT$n)`GhKRXDES1CN z)+Nw;u{P}pwB`PIbxNfIf+tj9^F``KHeOc|Tl!x{C-a*?#_Su=hGH#X zKi1aA0_|O=!dEqCLUbr=r^;e6Sf&y_K}A%_K0-S#`Pcw-@%FU52g2eNCKO6*u`nj# z;A0>5cL_}%Xk=67Fq{vFlaT$*?TQ|SeKtf)`1`eAeE5tu77_BgZ3nX4Py}{3A1C$g zbC#o|Z5q|G*)G0nmDAG|%uOf?6Y7^h(p^2!F!-tFu6B}h%2bYIRlFWT%s-NGa}k1Yr1r2D`b=)(k$uWL z3wY@yX4c!7kYDKn;?3GC4Ww`lBiGzorzvE$3bGZu2F|PhY=!;=&!G1ih_X-N^3A(N zyY>lCZ<{10m5#<9r8qj3g_b@(e=qtFsHn$!m#(R@VCtJ8>R zGXS~Ivg0rlf>VlXM~T)J%c+Qli&L`RI7(_${tuz`JjJ*r&&8%Oy>$WSbP$U?4 z7B*@^M4y7q(CWjj<0ioj`Iw`JI~~(1oDkv*Fp%ozok3GgLFT_oyU2%E6Axh?2l)zO z0SP!o=<0ntSt5OB?n>9CM~UzE50d#~9FwV~n~89P~7+*Q~HciDAdASwIep?1NTd zzOOQ9?3mJ^o}viW3~`t~(%EJ*2ma3f9J#%6TI#xm@YR|6q9CrTIkd+K8D2g#9ZHF1 zT6o7rti$;_(_v#g7L|Jeqk_6T_*EBk;r8|D$ILAdKQWtD%h~E+SWeu* zq~~!e=tuRAr?>_)issf;ahwrswoq~|)?Nk9PBp1|+x^bfD2ll5U}W)L30uDy+(EAo zx*V6%Fee*dod-2iJQsMjb6fRYGoD9uNd!F?j}3b^L!6B{_in)@q%PeDqi9KTn4+X9 zcUo8mPW$!z&5giLaYx_iBzE_z$jbeCTdo@-IYW~J72VNHKU%eiefeNzf&|^icW^gk zZ}2?bj#;%g_VO1Ve;T9^z`CbiI7jrjx~Hc1i5AS{nm9~SKd_9lBk(6}>P+ztrFJ5tlb zlc(v$23vd)x#2NnQ^dX{*I8#kgdt;i-vbvG>u0D`Z{HjTNwhr-+=ZIJV^MY4-$hF~2Ku zLF!5q2omE)g##6lYE`T11~zF|;(_>HGK3ttqeb^Rr1%lgwSc#&Qvr9ccvLD8-?v=| zuwN#DL)o}ftfUtVU2ur?SupIE@-Y=1Mig)tj|s^-@~#`;aS=}%TLU+7Ca~o zZYOBT0Mip)6N-nYdUuj)H$$=9npoV=gU%C>10!7?E}8_$aO!QO51B2;4)zFG2A>X| zI+ApXsBqYWtzI06wMVdrb@qBwR>f1OUGh@8Q-efqH&a%9tNPo;9j6EojgjLwu!s(4bma8RCP9#c*)uaLz ze4f9@xMV5(*&eQdUeXlE<70}SlJ{B@U`d5L*5_AX_09EfO2>O^ldlUXnjJ-n&f~{y z-%Jw)1nDKCtMvDq!u4%~ge8Eqn)?Tb!#z~F@H;t`)-44bUj-7!1zy2gN}ugpcL)tD zD|DtAu$#BStk0$LkYU_SKx;;N-LJfs)_9|K z+~Um=w{XOWv;(uar`6C9N-@-!u4$JXJSpTx` z{081v%fQ#`Z{cBmhj;vIc>gx-{6nDl-+@{^&2jvnfPT5jpFsaT2mKEr6Mct#_WQ{H zntuL=&?&z|cYVsQ-?{HE=)cT7|3fS|zheRYWnAh1_oaOw{cl-({pvSnoWDWqTW^Tk z&$Ivla=hRDOY*ITl|R>YowU zZ;cMxKbORp3YCKTQ^EN^w0>P&<-akH{6j^A_A~V_)m-}YDEF1m&-wgsU&cQKi1!^J z#nUM7j{$#iWBd)^Z+!?XKLdYRq>|qS{&f$=-yrm@@!%IJ`9i1)_D7NU|I8471NqzG zX^ihep#b*-nEf)gaT6A13yput^&1b0aI$-Ku*l9$QM zym|9~m%6p9t1h)x@9w=$cc0aAlAvIyKu}OnK(8JBHG#hRAOW!f8JRm8+PWA!xYIcr zJKRSGWhHnZNbv$X^M@}C5aBQX0}O--Br!6uIbtvm49)y)1O<|lgoOI?Gmu|?3v}Q9 zJyf(Gp*lJk{yF3a1`qMCAY=a?vbDas%|8!M@KbmTeHZuE4AD+L)=hv#y{VP@TFlQg)Uzxj_f0Ll_L!B%BQsx47c2?$w`cCGyHuPU+ z-k+-a2i^}cC|UrfgAq~WeTJgZE5gPnkEs`5N+MwyVh2c*OT`t3x;~zQ2@fy9`h0hC zi6V#h&Mdo6!dno7i|&G*dWS8mUfwZ<&Cl7N1KNPZP;Xay@WW~BC84XZ1bbiuRCYB? zJelqtZ+p6UtZi9;so2{pOk2ccUpB&Z?U|q*M$t--bL-$H22Ok6q8=+L5rrIzW(6=@kiKd6pmRo+D_P~o4|5Pu)5DXBCjS6y4lTZN9>tEhYrEMsI7Cb8(!AE zGHm=*9ngQ2VR~zqKUkK1zYcw9|CJ{z{_jG&I^1jOA1#R=Ais})g#!B@Qn1!{F}9)m zHz9gE2itpIPUgmrKNb1!DLu56`=1x;_GVHXIz?TP)cW{k7PNPq+u7dFfTEwyf**=By{WmAzLS%K zxqBwUEU`8=COIN45K4*x-2KZl?EN})JN`X4 z@}Kg<{Lwhs*;>=P{lVk*A@kqI1Z8>KaYjTR8{eQXH|Kc-M6+XNB18~#!+0*l^2{}t z8RWUDj2g7nHpjX&T65-}OoJuw)|>t2Y9WBDau~M0Rrb1il@tava$HGEOj`AN?=Z$K z5hq|%3CEeCLC7!hoVL+XCJR}iQnc@ddC!4x@lddqu6A7gc83^r-*^Tc*QrahbiFOe zzEP!GoNf{Z4Tl<&miTV+I&lhM`RyzCDcJ55*wW15V4e;c0T=dYQCvT&y?86W+=Ky< zE0)9za11g~96eSRK`yo74?RU1zJn}KDH_&K(rfh-rm0V27O6KV&5`hjpVLe|=bjd2 zJjaA%!=`|XvZvZ^zkOxWSFjyARD?t(J{oGdxi234f#$jVs|lepdAQ&yQRP0UGOLvr zGbGQw!SiUcOZ-Zx(YRH%6;35CIJbf}V8#wA(I8sIq_}f*0AxDecW!U4J)Fl)rN}~A zkSLPdGhhd$v%Oub0dz2BK+1OhQv-xcw`ZAge8>n>1*D%fL1Z-a1Gz$^?P4+^$5?Ze zu+6}=>LdI7lQeX|5mgmBUJCIs^PFz?txS{CYsioWAF6^czvifDHieheG*3LB!ouWP zWh7})a$e+=L8mwv%O`jy;c8~XkAyfWxM}A)*Oj4vP=A-Xg6PHArKpH2w}2_RGG$!Z znZv&7FAaDaa~0boX&(7{s@ioBn!8E8weh7Ay0<-V&eReJSms<4h3 zs>QcA_#{2UzGkfZxAA4s0MF+BLui(plS?K%1;^EauYkZ7A4t8FL)MEif;YYaCkH)8<&=ad0}CjM$l8BG{*- z%Sc4@&rZB8+cWKVeV;!kx>R)b;^VQ3ZxNDe8YT_%TgHtAha>G2*7pfkR zBC_l2Wfzd1bVn-)%ys_p$#TGS_?8RVdv z7nks#ZaRK=Hgf+Ibp2_1zgLxq_8SdP*IDtZJI_m0wkj4s!}hNJ%|#-66D%q6y`E_d zyO!#HTmp4gQ5+)kQ$`n_ML=uYjtwtTn4`@8<~pXCvhw@p;*#1E?~AdcrqQZOq0Ps) zkPfzZnr^YlihGJJs1uK9aR?NBk;=>D-dXY=ZK~{D;@4h}zqjs?MT$FsCcGgk^8%V_ z#RwTOMmB6$2J3Hv2~vY*h~g4fBqBXK>bGLW9P6;h^4=GQfuAeSaDzsq$f+gp$pfcU zKWXg5(WK|ZM^}l1Uk+LwfZ2+24T=n$d)KJZvtG`NBq~Yq)`lg~@S4k*Ou^}_Am(IB zwgwYCtd{tE8}CC!17rrlD{!D?%*DLQu_DG5@CSyCG-q^@N&t1^)Hl{{&& zwMH`tdWVmtJKLVq`DrR39Ak(uR;~6RygRbR>J=!T(=LCHC&@f_)LCLft$jhK#FdF4 z%}C2M!lNpTRC6k}`b_TQ2Aw+aWo4P9-L{5hT^eh24Hu?bh+K_p?W1){Hm^~R#wvwP zLPsQ^ovLYOQQxPzuLRmo3v;*mGNMgvWkyV#7PF+T*JjK(^5dc5WqQPNXFeD`*DZg= z{~12immo6wT;hrHwD>$2kt7g1o=RRah8E?9AFr@F1EKz|qu|41g{ z@&W9KPuo(~XV!hzom_j3^c^r8ZdhPtl4&Kg zyKe`Wve8CRO9DK*wl!@^L{afUwAwnz_DqDOAn zZ)H~r!`d2!M2N{1Nh5kZnOzRTZ__RyynTx}@|U&&{1P3D6)2ffCyZfngom9C4x;Zc|Td;PWDSmg{u^Vr#tD@lj%H zx`2yW_?!zPAA?}#HhmjXl$imdqUn0o7Cfgow-I>6szT8@pcHCJ&X&(=-1xLu#(PL_ z+(r>&jjLbKGN9n%5=cPCEFA?VxU@&PwMPv;^REw_MIT!}w-~0veAgRwvCA13gF)8k z+d|*~(YkVk#ZvMVQ9B&`JA$@343eou>txsSB(J4MQ1^xFFtKue_`hlOf2PUXc^zM1<>`4P1qgDDQYexk`HaAxuY&BXW;~MZzW~5yCQ{pPW~Q zZc2)$QIEbsTD@|Opk-&I+xfku)?@IoXdo9lmIf`c(@yL+URie`k$Yn@?k#4I8pe-} zXY!9py_FoI=Q-UV^LL*YR`qaB%idH!R)d~-+gM99h~b@QL}-q2+qgAUQ>GT3yi3Q?Wd;lwDO0Ljzwm?1Q?=5Km1s2$hQ_%Ga|l3wgQKpE1p^&) z^oH1u;ntStnoiK_v0eS71)X_xCSP`M&722!1LlwqHy%Dh)jU5%ZsVZRbC)#y(dxjg z%ulDcz6d@Zi#C$jsRYuPl8$^Za>2fxwT7XLaG-%Bt$sp$e}=U1foW zm9QNtq*rjjCFej2p6i3Z6-+3hT_VVmy)G>547*z2mgQ{>s0INdrr(Vktc&H%k<$h_ z#f^aah>ieWheqsAI7f{lcJu5uysfzKv(w6=@GYz z1zj9IVMY@RSs?CwMyZP9EZn@wL@m4Uj6ci6P9X`2oD($c?Z&6%cTiRV^r)?b%on0% zbu@yq#^p@pXJls^PF|X~se5r~Ye4$C^GU0yUtr2Z>Q8Ey*woR?u_)f{fMrKVPYW<9 zX7YRR^0Fep6XuSx3SCp$#4aref1rGaH;6Yi(~c_xincjB2`&uL43jIN@Wjf|RNySV zemALJF%}Od1m=zKP{F`HpSV?SY#l0EK{aV;C?UzPL}@}X9V^p0|Mm69ar}y=yO9wc zRVuZWfZ6$ZA&b?!)1T(lfDozO-ylex)=QtQ^gX`R#Qh#&j83a*R*? z%fn{uxI-i4eduhmBU${O9(s!xPJvGgCa1`kb_oc0eWwP~l;6DcoQjK*(Wcov-ACCHAGv6alSbc(>N=-5 zqpsZKfBcNI>N(zSVk$@^%{Vemx}(VKR9ecl%13X`DX0d>MAOIK;X}LgNgQ!c8sFQ3 zEv*z#@G|GWpHFLc?&8i$e=C>aGden}yQ?qt($82ADS>v-hFfcP1>mgYwwzUH zN$X(M8*ntEh|R%?mh$~(hQtkyaS2T#Gp3>HPv2_CQ}i5%8KyE=UoqnD=oJ zC|@0JIfOp}Z$Pvc9Rh#cXK*QFs7%~Eim~Pa1;G59HGpTGcyJ~7Wvf9|*-hHT!h%Y6 zW1u#5Ox26y_K$+Isu#3XLG+KPo>o7i2Jk(lFVb`_2>a;3x$bVL3JH7x?#oupCcJ7T zvf?9zwx-pUsEw)WuWuhF$&}i|}eNn~3Nq^}^og85ua^!#? zLvU@2_jU`?8t+V@)k1rsPyp4^v{kkQ4AL(FH~XWp6Q?G6976dk(9F0}^-hg(N)t#Y zPvB^zRpqxNEGi3om#3>A*1c}e^L(A`SySzFYp*e3pCmg@loR-f*J=jQ?o5m3QsV{1 zOb*)#6sU(}7m$9i0}T?e9g#6-%|u!~OAfxn9LByrRdWKy@djf~T8Gx6F)Za6RwCDdpDCa z7amEWgOZ>2v(Lq1II+r)aBqOhs7o|OHi6hD%=$MBQk#S+>N-XyDcCnJX5^8@rn?ON zZj;lnc7fSq%$F=XddLU1PAJn%DPXxz7b0O3GVTtnSktxB@3_+OQpuaF*W<_HfgQjz z`}&PHMrSUwa>s>EqK|h<`8loF3G9;Rj9$)^&NMd_xs<&=e*K;{r&p2V{T1nYEtI-M z%TSy!70x+6$x7-roZ3c&Nwv1j%NAMa2n@s)kqH;}F`8_X+EW2AWp+99lW}wnsG9(q zvU0s*Y}tVpb)8`<#xAfXc6YOGSr`1q7SDS9z(vCsA9r%>broa!cwR|RoFT=bAuiU5 zmD{JPBuT=y&p5G=2Hmg~S6l@w4;IJhHBw(vlnBzRDz#_UXT#_`qn0unt2erSl+-Hf zt}fEO`A9|FTuPfHUnU?a@l&k1eHQ(e_+{p%6ne6R)JEi>ek7DRau*Rp#u)L|Tbnzl z0ItjH7kwdY4TY6ywkGcelQ!+VCNAm4>9u=B8wJ4RTM1yiXj|M#vG&}E_fJt0nOvR> zKEhdAU~65=4gzeU7tw%nPsXYNZS7JXYTe~cnh3^eu)jFzx|RgfWPKAUcf>_V+p>#} zMFwDnGR@TpWt{>Z4g1tS26LltwvfYKugi#Xp+KMiBD9>qy6GIRmCVsiaR#~dE<-OU zbe7Sx?=h~Bd&ZEeP9v>d3`u1L@?#qbe}@GV&)CGVBW^F61@}mP`4EO=&Bj~PczH49 z%f$J!Ptk3XQ%FE%E|3(ykEEb2Cj+{S9SXhZI#w;aC}1jmv94^8BNW~3$NS@)9xmZlCf7DT;6qV(~9=x`M1GLu$Hgx6gv~P4pYyw zpdFyi_H1?r1lFH4jF8MG&V}umhz6B}nS3g7Q=m<8skrjW1%T=iO;{+5L4?unT^(j) zhmI1zp+GeYHP)q_d*Va3F1^HaIp`Q3r+i)9any50YkxzsR6{xcY;t5^!0=i+CM>)f%4F9(V=($lTduI3A=f&bT*h!+{@5qe?lQ+bi-Q zq@J{Qx{U0_$74z4Of+Fh{zO+xC{B85{=-D7S(~yX4iCWo{C9E-=S_d#N zOx&a{S_=@(SVmLtAG<2NNM!D;fel&Js0&X&$U896Zv4EFkG&Ry5)spxq89n%(98vZXJxQW<<}|-$&%mOdZF3EwLv#48tf2ea$`7biFfUw z-P&6lbA1P6j7Dy)L(A}dw9dNdrK*LJtEP=`f#u}mUP{X%@p#E(uuBvS}baTs~G*1p1$y&tU!NeCEs10llHM(SLV* zpuX!mD~f(MqHCWk=tqkjHun+o@klVH_%vH|pq-b;`~+SXkj1k+@j#}u0^gfOZWfR? zhbEr0XPoR)X8VTwpBCO99^-I?aH5Q0cMu}mEUW6sdI~Y#brEzQ4LCOtoPdV{b)^bX z7$Nvfw=3+ab!8J+eF7(ee>qxtBmGtkUtrl$gh03g+Aa&_lGtHO(;qf-71|2TzICNF zlnyA(kxGv>6Q16)!ijfSf2AiJIbpidAhLNL(?#GEDY5T49XfrODSiVVz18$6E|PAg z*~&EyD#1R9Yb`qBo)><%eUK~ zp5uX#mOF+&7b}^+MM^H0qWuivP?b)EfTBgpf_P>dnB2KVl`%q7B56pc3`Ddz za?dcj)^*V~v8RPx0NxE@@7CNB)hfiTgfh$wC>(@F13V+IY|CuR4iw&Eg>b=n=3dwV zayZ&o4nKX^w3$tNUS6oGM_knbR2Lg!Rr?78GhXMd(My{=2uL$rLG|j!I?r)=(`n1W zLW$lw+n#ZHhwka{JY7Nb-eg?#jdYfw#ft*l9+yY2L~1s+-g<}G^DOf`nQYNJ0|f)i zzr;0wQ-_n=UecrKD7%zw;r8<~%Fmc5?!lzF6%kB6L`42H6_<3!eLB`2vlR5bW; zcIO2VCjxedO;Cp98CSV+P$=&VZpWVOW9mGn1{yo9MNr2Ui3c8CX2MX9n6j`+!QYu+uX@bYg^JG`%gE1gE24*WsJC55Jkr&OC-s!u!-7^usaqD&1r4kB;R!b^ij zh^>=P(9k1M>08~EUnzOYqYC4NfcPLEkwqKTX#43$5VBJ5BV#M?FJ+m6Ci#K{8oW2_ zFm=*DdjqpT3)$hnyH+re^mGHqE_us}S6G64P)kgQhRTCUEzPs7EP5)jknJo!2(jnU z%5j6jFw+x#k!38g^!m2>=5~hqtt(*Jk?TqDY^M2f-{gIQ_?HWsfZ=HRtt|Hw##4 zFr$v~A$o~@E#AdlC=J}1YWL?cozr|!cii%Tg}k9-#2eaU+63E!-RER|IZK&5(8avW z-cy| zrZgdTb`8BlrR&ta?lR77G4#n(c0N#ih(S)QRxf(&ShFN{djR{H{xZ&*SH55|&YcNR zJ(eh)g_Ck{xO^!Os7&I>e{GpXm#MTAb%hRO$vb_&FR3^+n!j*_&v2qQT7(^y<6C zrswC`P%1_39=0S7)1>Rhu3;K+s{jNxF$L*C+{fQVO>gutYWIVQobUm(q=K;Ka!@P1X(#2--!pT zOPC7}>OHQ!MIVa}ckS4Qt}>B;2NdF_zocS6NZF#-sF>*ytW!TeUdGyhp*E*`0wUMb z2Rr@=5uu-Gc-H{Mz!p)txO!#%HFqnPb|klU7ZKUB5*yoaoxID;BWX-w+S!Zk)VvDy z0|j-z&*4^YDfoDaz_`=%zZs1dVC^!jz;wEX?-;z{V;{oQ+(Ju$0d4IbD1h~I_3affoOP^{2qxyW?fMAdxQ#efQ zU6V&o!b1DoUIaWeX~0Q>mYEiWrtQjmB=l*ZeB#^$tfa8Cl7>-|)rBfr5&P(^@ z7BJ)Jn9$`Gv!b!mkpAqZHOF4ZSJf(nGr z4+I)Y_wvu8ucM|2T47ia#IH|;vPys!f|^GLO%uC#-AR$m)E#qW)lDJ=kT}m2_J>OM zOT~S|-7F)4SPy8q>{cIOS255H2MBJOCp^<>e3QnR44>G4hS}>xQjNft?L-ie(A_l# za^w=PC4m6@p2KfOT)WJqYsNA-k6q!jZb)IE8u*Jb)nP*w3G8XoNF(HvjZ|)e?Y&t_ zC$)_9HEZ#U6RibNJWnfFpCbzVLRd!BGMkL3u9G)UiBXBp6ef2pE*Bx^o>`8fCT5Ez z0Fzni7neX5$ymXhXH6L1j=yux@uRmcgN|Hhk6fRswc~w;O`cxHVCq2l9x?0}~x-=Y^eBkYWXt+jdX#VL^wy^mmx1SgUtQqV3nr z3J6j_ONe`VK-6_NEVEu}p845B(v{PhA6bcF;B{=oF<%0hLK>&RAdi((MGKdpMHVV$ zR#Q?BwzA;ulf7z29Z2Hfg;YZv0U~-=p2ogWRvP8*+B5}plC)VNA?WCeuxw;$>_f;J ztrR1e{Lpecs3>OkNcks%q|u(hcU==6#cPaqADuii7_k>`$Xdn>Vr1)hUsTE`Co`ue zxKviLXOK&=a*pZP*G*)sN(^Rl<$z#!q>jDVd!&iz7>ua6RD5;wV&RdlI91;XB&~>` z3ElQ{P_Wc%!D1z>{359%%lDdjn_bLH$=g^={BA{qX#R=Rmk_3Ld_?5`yxo6GJj1)b4T;@Z{#Q>cEPNgQy}G^v7>rwS-Gt|~U=D%R3HjM#zf z>_&HqhxNSWC0;gbRuB#Bo3iyYM@?*-xSOBUgnp-BG!sD2`D}W@`$?PDnt7$)7zDFb zx6^)cr74cmyAczN5k;2kca;=v!|KRtFBp|a!e1l7*ou;v!FI>7`nH*4YnwxThU@NY zR-vg=YAd)pdJU@|GhVf4SRqGMZP!XShXkfzp?M-X8nlQjHgwZ2mcuX-gmp0W9CMcj zFR9Y*5gZ>CX#(18!g%>DG|)!KY92>Q@(EEpX%q{9nsHP5v8igF=iUzg%D{RkkH8+A z7alJ^O_MCmHHL%nyxLZxkm0Fh<6IX(XPChec}JLK-S|<>F)Jab-5IORSkH50uZg8b zHgF7W(beS%2u0x3t_{^p(6r&2ElOd-L)ZBorHF3w`b^u8;+A+^sm{H9Ej`uKYd#>J zM<>UcRK_5HPc(GTmcALFL&YO)bw?8pxr zd*tQTw6nB$rJmG3eqYJ;X2><9koacGymNwEB8i}rB{&?vD}jA>RmX|YxXU_FFjt!f zC(Pwml%IvyhgHrzh@ZCrnAfM&y}Ji~4_p>f8*L^~h`aAe$WdAaj};?56{QxxJ^!;| zAAB|UCJig+Ie}Phwi6XxnXq$VUFS+@1w)jZa-W#})q}+e z-S!2da3Ke@aV`lzL44TU)Sk!^8dt@9_8V{(Yh0e*{YK z4XEwCgW*3C`lXYHkDczIKM|eNz}z z(0`AX@b9XL(pP@_|IvI#|CRa|Nr`~@0rh_y*?$1|VAcCR{%j3^{|z9-muwg3IYvVTiufSi_E9?(}f8VtJHwb<0)c#FMz7UFq`%xyobC3T3`C;Alef)k5 zzV^vtev=9&_#Ytu>I?q?qR={vP$~7f!z| zaDjk6`o|&t0QFz~)F0qI^y>TgJ>J*5U94|j8-^*1oT-b{Qum~ZcQ5C2h6 jzwWAk0Qr!{@1vX~`2E8T2ng%`FYkVCPJX#02lW2{=wdAK diff --git a/project_milestone_4and5/zips/notification-service.zip b/project_milestone_4and5/zips/notification-service.zip deleted file mode 100644 index 32b1ebdce08ceff63b3be7e6b752ba80907aec07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17033 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 E56_H|xc~qF diff --git a/project_milestone_4and5/zips/review-service.zip b/project_milestone_4and5/zips/review-service.zip deleted file mode 100644 index d5d62f7676a15ddbdc62d1b2d173597c48027937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16628 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 iN>3Kfe~aax?@9h6K+vb64FG`s^k?@Jk5 Date: Sun, 14 Dec 2025 21:47:54 +0200 Subject: [PATCH 3/3] CI/CD pls work to do a different thing for the verification part --- .github/workflows/maven-docker.yml | 46 ++++++++++++++++++++++++++++++ ReadMe5.md | 18 ++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 .github/workflows/maven-docker.yml diff --git a/.github/workflows/maven-docker.yml b/.github/workflows/maven-docker.yml new file mode 100644 index 0000000..626bdfd --- /dev/null +++ b/.github/workflows/maven-docker.yml @@ -0,0 +1,46 @@ +name: Locafy CI/CD Pipeline + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./locafy-microservices + + steps: + # 1. Checkout Code + - name: Checkout code + uses: actions/checkout@v3 + + # 2. Setup Java 17 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + # 3. Compile and Package with Maven + - name: Build with Maven + run: mvn clean package -DskipTests + + # 4. Build Docker Images (CI Step) + - name: Build Docker Images + run: docker compose build + + # 5. Deploy to Runner Environment (Test Deployment) + - name: Start Services + run: docker compose up -d + + # 6. Verify Services are Running + - name: Check Running Containers + run: | + sleep 30 # Give services time to start + docker compose ps + docker logs notification-service \ No newline at end of file diff --git a/ReadMe5.md b/ReadMe5.md index 600780c..03005ad 100644 --- a/ReadMe5.md +++ b/ReadMe5.md @@ -105,3 +105,21 @@ public class ReviewServiceApplication { SpringApplication.run(ReviewServiceApplication.class, args); } } + + + +Use this for Docker and not the intelij plugin: docker compose up --build + + + +# 1. Ensure fresh JARs are available +mvn clean package -DskipTests + +# 2. Build and start containers using the V2 plugin +docker compose up --build + + +Step 4: CI/CD Pipeline (GitHub Actions) +This pipeline will run every time you push code to GitHub. It will verify that your Java code compiles and that your Docker containers can build and start up successfully. + +Create this file structure in your project root: .github/workflows/maven-docker.yml \ No newline at end of file